Function at 0x100397fb
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [ebp - 0x780]
add ecx, 1
mov dword [ebp - 0x780], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x780]
cmp eax, dword [edx + 0x18]
jae 0x1003945e
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x19cc]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x780]
mov edx, dword [ebp - 0x19d0]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x19d4]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x19d8], edx
mov dword [ebp - 0x1d0], 0
jmp 0x100392c2
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x1d0]
movsx edx, byte [ecx]
test edx, edx
je 0x10039374
mov eax, dword [ebp - 0x1d0]
movsx ecx, byte [ebp + eax - 0x8a8]
test ecx, ecx
je 0x10039374
push edx
push ecx
add esp, 4
add edx, 0xd9d0
xor edx, 0x1039a
call 0x1003930f
add byte [edx + eax*2 + 0x40], al
inc esi
dec esi
inc ebp
cmp edi, dword [edi]
cmp al, 0x83
les eax, [ecx + eax*4]
ret 0x2d9e
push edi
xor edi, 0xe742
xor edi, 0x4ec7
pop edi
push esi
push edi
add esp, 4
jmp 0x1003938d
jmp 0x10039396
call 0x100393a2
add byte [eax + 0x46], dl
xor cl, byte [ecx + 0x45]
xor al, 0x83
les eax, [esi + ebx*2]
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x1d0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1d0]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
jne 0x100393d3
mov dword [ebp - 0xce8], 0
jmp 0x10039442
push esi
jmp 0x100393dd
pop esi
push ecx
or ecx, 0x2766
xor ecx, 0x8d6c
call 0x100393fb
add byte [ebx], dh
push eax
inc eax
cmp eax, 0x444e484a
cmp bh, byte [eax]
add esp, 4
xor ecx, 0xd34d
pop ecx
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x1d0]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1d0]
movsx edx, byte [ebp + ecx - 0x8a8]
or edx, 0x20
cmp eax, edx
jge 0x10039438
mov dword [ebp - 0xce8], 0xffffffff
jmp 0x10039442
mov dword [ebp - 0xce8], 1
cmp dword [ebp - 0xce8], 0
jne 0x10039459
mov eax, dword [ebp - 0x19d8]
mov dword [ebp - 0x3f8], eax
jmp 0x1003946a
jmp 0x10039243
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3f8], ecx
cmp dword [ebp - 0x3f8], 0
je 0x10039545
push edx
or edx, 0xca33
pop edx
push esi
push ecx
add esp, 4
and esi, 0x10d5
xor esi, 0x6364
xor esi, 0xb02a
sub esi, 0xa46f
pop esi
push esi
push edi
add esp, 4
jmp 0x100394a8
pop esi
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19dc], edx
push ebx
push ecx
add esp, 4
call 0x100394c6
add byte [esi], bh
inc esp
inc edx
inc ebp
inc ebp
inc ecx
add esp, 4
pop ebx
push ecx
or ecx, 0x20
call 0x100394dd
add byte [ebx + 0x43], al
dec ebx
cmp bh, byte [ebx + edi]
add esp, 4
jmp 0x100394e6
pop ecx
mov eax, dword [ebp - 0x19dc]
mov dword [ebp - 0x19e0], eax
lea ecx, [ebp - 0x1754]
push ecx
call dword [ebp - 0x19e0]
test eax, eax
jne 0x10039545
push edi
call 0x10039514
add byte [ebx], dh
inc ebx
inc edx
cmp edi, dword [esp + edi]
cmp al, 0x50
add esp, 4
add edi, 0x124ba
and edi, 0x68f5
add edi, 0x11b98
pop edi
push edi
push ecx
add esp, 4
and edi, 0x15242
pop edi
mov dword [ebp - 0xae0], 0
jmp 0x10039c30
push ecx
or ecx, 0x3fb9
jmp 0x10039555
pop ecx
push ecx
add ecx, 0x16b10
pop ecx
push ebx
jmp 0x10039564
sub ebx, 0x15bd2
pop ebx
push edi
push eax
add esp, 4
or edi, 0xbb69
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19e4], edx
mov eax, dword [ebp - 0x19e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19e8], ecx
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x1688], edx
push ebx
push ebx
add esp, 4
xor ebx, 0x3dd4
and ebx, 0x116c8
pop ebx
push eax
push eax
add esp, 4
add eax, 0xdfd2
sub eax, 0x141e4
xor eax, 0x14f0f
jmp 0x100395d0
pop eax
cmp dword [ebp - 0x1688], 0
jne 0x100395e9
mov dword [ebp - 0x300], 0
jmp 0x10039890
mov eax, dword [ebp - 0x1688]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xcf4], edx
push eax
push eax
add esp, 4
xor eax, 0x7121
pop eax
push edx
call 0x10039617
add byte [ebx], bh
inc ecx
cmp dword [esi + 0x50], ecx
inc ecx
aas
dec edi
dec ebp
add esp, 4
pop edx
push edx
push edx
add esp, 4
and edx, 0xd8d9
sub edx, 0x9fc2
pop edx
cmp dword [ebp - 0xcf4], 0
jne 0x10039645
mov dword [ebp - 0x300], 0
jmp 0x10039890
mov eax, dword [ebp - 0xcf4]
mov dword [ebp - 0x518], eax
push esi
push edx
add esp, 4
jmp 0x1003965b
jmp 0x10039664
or esi, 0xb7e3
pop esi
push edi
push edx
add esp, 4
and edi, 0x32d1
jmp 0x1003967b
jmp 0x10039682
pop edi
lea ecx, [ebp - 0x1754]
mov dword [ebp - 0xcf0], ecx
mov edx, dword [ebp - 0x518]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xcec], eax
xor ecx, ecx
mov word [ebp - 0x240], cx
xor edx, edx
mov word [ebp - 0x54], dx
push eax
and eax, 0xf12b
jmp 0x100396bb
jmp 0x100396c0
pop eax
push edi
push edi
add esp, 4
add edi, 0x15318
add edi, 0xbb6c
add edi, 0x7331
or edi, 0x149cb
pop edi
mov eax, dword [ebp - 0xcec]
mov cx, word [eax]
mov word [ebp - 0x105a], cx
mov edx, dword [ebp - 0xcec]
add edx, 2
mov dword [ebp - 0xcec], edx
mov ax, word [ebp - 0x105a]
mov word [ebp - 0x240], ax
mov ecx, dword [ebp - 0xcf0]
mov dx, word [ecx]
mov word [ebp - 0x105c], dx
mov eax, dword [ebp - 0xcf0]
add eax, 2
mov dword [ebp - 0xcf0], eax
mov cx, word [ebp - 0x105c]
mov word [ebp - 0x54], cx
push edi
push esi
add esp, 4
and edi, 0x205f
call 0x1003974e
add byte [ecx + 0x37], cl
dec esp
dec ecx
dec esi
cmp al, 0x33
add esp, 4
sub edi, 0xac4e
call 0x10039764
add byte [ebx + 0x45], al
xor esi, dword [esi]
dec eax
push eax
aas
add esp, 4
pop edi
movzx edx, word [ebp - 0x54]
test edx, edx
jne 0x10039785
movzx eax, word [ebp - 0x240]
movzx ecx, word [ebp - 0x54]
sub eax, ecx
mov dword [ebp - 0x1694], eax
jmp 0x100397df
movzx edx, word [ebp - 0x240]
movzx eax, word [ebp - 0x54]
cmp edx, eax
je 0x100396ad
movzx ecx, word [ebp - 0x240]
xor ecx, 0x20
movzx edx, word [ebp - 0x54]
cmp ecx, edx
je 0x100396ad
movzx eax, word [ebp - 0x240]
movzx ecx, word [ebp - 0x54]
cmp eax, ecx
jge 0x100397c9
mov dword [ebp - 0x168c], 0xffffffff
jmp 0x100397d3
mov dword [ebp - 0x168c], 1
mov edx, dword [ebp - 0x168c]
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jne 0x10039828
push ebx
push esi
add esp, 4
call 0x100397fb
add byte [edi + 0x3f], al
inc esi
inc esi
cmp edx, dword [eax + 0x39]
cmp byte [ebx + 0x525b04c4], al
push eax
add esp, 4
jmp 0x1003980b
pop edx
push ebx
or ebx, 0x159e9
and ebx, 0x14b7a
pop ebx
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x300], eax
jmp 0x10039890
push edi
push ecx
add esp, 4
and edi, 0xf0f6
add edi, 0xc750
or edi, 0x150d
pop edi
push ebx
add ebx, 0x27f9
and ebx, 0x326a
and ebx, 0x17dee
jmp 0x10039859
pop ebx
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x518]
cmp eax, dword [ebp - 0xcf4]
je 0x10039886
mov ecx, dword [ebp - 0x518]
cmp dword [ecx + 0x30], 0
jne 0x10039651
mov dword [ebp - 0x300], 0
push eax
push ebx
add esp, 4
and eax, 0x5140
or eax, 0xab97
pop eax
push edi
xor edi, 0xc096
pop edi
push eax
push esi
add esp, 4
xor eax, 0x1389a
xor eax, 0x11abe
xor eax, 0xad40
pop eax
mov edx, dword [ebp - 0x300]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x358], eax
push eax
and eax, 0x15869
jmp 0x100398e1
pop eax
push ebx
and ebx, 0xb79d
and ebx, 0x1e13
sub ebx, 0x146eb
or ebx, 0x18386
pop ebx
push ecx
jmp 0x10039902
pop ecx
mov dword [ebp - 0x798], 0
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x1698], ecx
cmp dword [ebp - 0x1698], 0
jne 0x10039933
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], edx
jmp 0x10039c24
mov eax, dword [ebp - 0x1698]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x169c], ecx
jne 0x1003995b
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], edx
jmp 0x10039c24
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x169c]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x16a0], eax
cmp dword [ebp - 0x16a0], 0
jne 0x1003998d
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], ecx
jmp 0x10039c24
mov edx, dword [ebp - 0x358]
add edx, dword [ebp - 0x16a0]
mov dword [ebp - 0x78c], edx
jne 0x100399b2
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x51c], eax
jmp 0x10039c24
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x19ec], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x358]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x19f0], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x19f4], eax
mov dword [ebp - 0x790], 0
jmp 0x10039a0c
mov ecx, dword [ebp - 0x790]
add ecx, 1
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x790]
cmp eax, dword [edx + 0x18]
jae 0x10039c18
mov ecx, dword [ebp - 0x790]
mov edx, dword [ebp - 0x19ec]
mov eax, dword [ebp - 0x358]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x790]
mov edx, dword [ebp - 0x19f0]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x19f4]
mov edx, dword [ebp - 0x358]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x19f8], edx
mov dword [ebp - 0x1d4], 0
jmp 0x10039a7c
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
test edx, edx
je 0x10039b2e
mov eax, dword [ebp - 0x1d4]
movsx ecx, byte [ebp + eax - 0x9d8]
test ecx, ecx
je 0x10039b2e
push ebx
and ebx, 0xeb29
or ebx, 0x185c6
and ebx, 0x11f56
pop ebx
push esi
push eax
add esp, 4
or esi, 0x1548e
jmp 0x10039ace
sub esi, 0x14c44
and esi, 0xecc0
pop esi
mov edx, dword [ebp - 0x794]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ebp + ecx - 0x9d8]
cmp eax, edx
je 0x10039b20
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1d4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x1d4]
movsx eax, byte [ebp + edx - 0x9d8]
cmp ecx, eax
jne 0x10039b27
jmp 0x10039a6d
jmp 0x10039b2e
push esi
or esi, 0x70ac
add esi, 0x1176d
xor esi, 0x11ed8
pop esi
push eax
push eax
add esp, 4
sub eax, 0x1809c
sub eax, 0x15f58
xor eax, 0x942f
xor eax, 0x1816c
pop eax
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1d4]
movsx ecx, byte [ebp + eax - 0x9d8]
cmp edx, ecx
jne 0x10039b8d
mov dword [ebp - 0xcf8], 0
jmp 0x10039bfc
push eax
sub eax, 0x16ab3
pop eax
push eax
jmp 0x10039b9b
add eax, 0x6eed
xor eax, 0x307a
pop eax
push ebx
xor ebx, 0xcf5f
or ebx, 0x7f07
jmp 0x10039bbe
pop ebx
mov edx, dword [ebp - 0x794]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ebp + ecx - 0x9d8]
or edx, 0x20
cmp eax, edx
jge 0x10039bf2
mov dword [ebp - 0xcf8], 0xffffffff
jmp 0x10039bfc
mov dword [ebp - 0xcf8], 1
cmp dword [ebp - 0xcf8], 0
jne 0x10039c13
mov eax, dword [ebp - 0x19f8]
mov dword [ebp - 0x51c], eax
jmp 0x10039c24
jmp 0x100399fd
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0xae0], edx
push eax
push eax
add esp, 4
xor eax, 0xef47
sub eax, 0x16213
sub eax, 0x3100
pop eax
push ecx
push ecx
add esp, 4
sub ecx, 0x54d9
pop ecx
push ecx
and ecx, 0xa5f3
and ecx, 0x8762
pop ecx
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0x19fc], eax
lea ecx, [ebp - 0xcfc]
push ecx
push 0x40
mov edx, dword [ebp - 0x16a4]
push edx
mov eax, dword [ebp - 0x3fc]
push eax
call dword [ebp - 0x19fc]
test eax, eax
jne 0x10039cd5
push ebx
push esi
add esp, 4
or ebx, 0xbb57
and ebx, 0x1cf
add ebx, 0x447e
add ebx, 0x90d5
pop ebx
push edi
push edi
add esp, 4
xor edi, 0xd440
pop edi
push ecx
sub ecx, 0xcee
pop ecx
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a00], ecx
push 0
call dword [ebp - 0x1a00]
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x79c], edx
jmp 0x10039cf2
mov eax, dword [ebp - 0x79c]
add eax, 1
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
cmp ecx, dword [ebp - 0xae4]
jae 0x10039d4e
push edx
push eax
add esp, 4
jmp 0x10039d0e
add edx, 0x148c
pop edx
push ebx
push esi
add esp, 4
jmp 0x10039d23
add ebx, 0x12602
jmp 0x10039d31
pop ebx
movzx edx, byte [ebp - 0x3b0]
mov eax, dword [ebp - 0x79c]
movsx ecx, byte [eax]
sub ecx, edx
mov edx, dword [ebp - 0x79c]
mov byte [edx], cl
jmp 0x10039ce3
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0x1a08], eax
lea ecx, [ebp - 0xcfc]
push ecx
mov edx, dword [ebp - 0xcfc]
push edx
mov eax, dword [ebp - 0x16a4]
push eax
mov ecx, dword [ebp - 0x3fc]
push ecx
call dword [ebp - 0x1a08]
test eax, eax
jne 0x10039dc6
push edi
and edi, 0x121
sub edi, 0x7101
pop edi
push ebx
call 0x10039d9e
add byte [ecx + 0x43], cl
dec eax
inc eax
inc edi
inc ebp
xor eax, 0xc4834b34
add al, 0x81
retf
push ecx
sub ecx, 0x13e93
jmp 0x10039dd5
pop ecx
push edx
and edx, 0x12415
pop edx
push edi
or edi, 0x192
sub edi, 0x9daa
and edi, 0xbe47
and edi, 0xc101
pop edi
push ecx
mov ecx, 0x10101010
pop ecx
push ecx
mov ecx, 0xffff04ff
pop ecx
pop edx
push esp
xchg eax, ecx
or byte [ebp + 0x498dbca], al
add al, 0xec
or eax, dword [esp + eax]
add al, 4
inc edi
dec edx
aas
dec esi
push edx
cmp eax, 0x8508c887
ljmp 0x5a62