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

Disassembly:
push edx
push esi
add esp, 4
and edx, 0x7347
xor edx, 0x7147
pop edx
push edi
or edi, 0x525d
call fcn.004090a5
add byte [ebx], bh
cmp byte [ebp + 0x46], cl
dec ebx
cmp eax, dword [edx + 0x4e]
dec edi
add esp, 4
or edi, 0x123d9
pop edi
lea ecx, [ebp - 0xcc4]
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6e0], eax
xor ecx, ecx
mov word [ebp - 0x124], cx
xor edx, edx
mov word [ebp - 0x38], dx
push edx
push eax
add esp, 4
or edx, 0x15840
sub edx, 0xb123
pop edx
push edx
or edx, 0x14935
and edx, 0x9af6
pop edx
push edx
push ebx
add esp, 4
add edx, 0x12518
sub edx, 0x7177
pop edx
mov eax, dword [ebp - 0x6e0]
mov cx, word [eax]
mov word [ebp - 0x892], cx
mov edx, dword [ebp - 0x6e0]
add edx, 2
mov dword [ebp - 0x6e0], edx
mov ax, word [ebp - 0x892]
mov word [ebp - 0x124], ax
mov ecx, dword [ebp - 0x6e4]
mov dx, word [ecx]
mov word [ebp - 0x894], dx
mov eax, dword [ebp - 0x6e4]
add eax, 2
mov dword [ebp - 0x6e4], eax
mov cx, word [ebp - 0x894]
mov word [ebp - 0x38], cx
push edx
and edx, 0x10d60
pop edx
push ebx
push edi
add esp, 4
add ebx, 0x13e03
or ebx, 0x8c06
xor ebx, 0x160df
sub ebx, 0xb760
pop ebx
push edi
push esi
add esp, 4
sub edi, 0x16d9d
pop edi
movzx edx, word [ebp - 0x38]
test edx, edx
jne 0x4091b1
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
sub eax, ecx
mov dword [ebp - 0xbe4], eax
jmp 0x40920b
movzx edx, word [ebp - 0x124]
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4090d9
movzx ecx, word [ebp - 0x124]
xor ecx, 0x20
movzx edx, word [ebp - 0x38]
cmp ecx, edx
je 0x4090d9
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
jge 0x4091f5
mov dword [ebp - 0xba0], 0xffffffff
jmp 0x4091ff
mov dword [ebp - 0xba0], 1
mov edx, dword [ebp - 0xba0]
mov dword [ebp - 0xbe4], edx
cmp dword [ebp - 0xbe4], 0
jne 0x409254
push esi
and esi, 0x679c
call 0x409228
add byte [esi + 0x45], al
dec esp
xor edx, dword [eax + 0x4a]
inc ebp
add esp, 4
and esi, 0x96fe
and esi, 0x895c
pop esi
push edi
sub edi, 0x4dc3
sub edi, 0x13308
pop edi
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x3f0], eax
jmp 0x4092bc
push eax
push eax
add esp, 4
or eax, 0xb43b
pop eax
push ebx
and ebx, 0x120f8
pop ebx
push esi
push ebx
add esp, 4
or esi, 0x1b87
or esi, 0x8c2f
add esi, 0x5986
and esi, 0x15412
pop esi
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x6e8]
je 0x4092b2
mov ecx, dword [ebp - 0x248]
cmp dword [ecx + 0x30], 0
jne 0x40907d
mov dword [ebp - 0x3f0], 0
cmp dword [ebp - 0x3f0], 0
jne 0x409306
push esi
push edi
add esp, 4
sub esi, 0x9486
jmp 0x4092d9
pop esi
push ebx
call 0x4092e7
add byte [edx + 0x46], al
dec esi
inc esi
dec esi
dec ecx
add esp, 4
and ebx, 0x9e35
or ebx, 0x10537
pop ebx
mov dword [ebp - 0x618], 0
jmp 0x409e2e
push ebx
sub ebx, 0x8f13
call 0x40931c
add byte [ebx], bh
aas
dec ecx
inc eax
inc eax
aas
aaa
cmp edx, dword [eax - 0x7d]
les eax, [ebx + ebx*2]
push edx
push ebx
add esp, 4
or edx, 0x12420
and edx, 0xaa4a
xor edx, 0xb15b
pop edx
mov edx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x400], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xbe8], ecx
cmp dword [ebp - 0xbe8], 0
jne 0x409377
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x240], edx
jmp 0x409668
mov eax, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0xbec], ecx
jne 0x40939f
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x240], edx
jmp 0x409668
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0xbec]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xbf0], eax
cmp dword [ebp - 0xbf0], 0
jne 0x4093d1
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
jmp 0x409668
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0xbf0]
mov dword [ebp - 0x3f4], edx
jne 0x4093f6
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x240], eax
jmp 0x409668
mov ecx, dword [ebp - 0x3f4]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0xe78], edx
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0xe7c], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0xe80], eax
mov dword [ebp - 0x3f8], 0
jmp 0x409450
mov ecx, dword [ebp - 0x3f8]
add ecx, 1
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x3f8]
cmp eax, dword [edx + 0x18]
jae 0x40965c
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe78]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe7c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xe80]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xe84], edx
mov dword [ebp - 0xc4], 0
jmp 0x4094c0
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
test edx, edx
je 0x409572
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
test ecx, ecx
je 0x409572
push esi
and esi, 0x5dce
jmp 0x4094fc
pop esi
push ecx
xor ecx, 0x5c54
pop ecx
push ecx
or ecx, 0x2d05
sub ecx, 0xe800
and ecx, 0x1ee0
add ecx, 0xc290
pop ecx
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
cmp eax, edx
je 0x409564
mov eax, dword [ebp - 0x3fc]
add eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc4]
movsx eax, byte [ebp + edx - 0x4d0]
cmp ecx, eax
jne 0x40956b
jmp 0x4094b1
jmp 0x409572
push ecx
call 0x409580
add byte [eax + 0x36], dl
dec edi
dec esp
inc edi
add esp, 4
and ecx, 0x7f7e
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0xf3b3
pop ebx
push eax
sub eax, 0x7fc9
sub eax, 0x11372
pop eax
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
cmp edx, ecx
jne 0x4095d1
mov dword [ebp - 0x6ec], 0
jmp 0x409640
push edi
push ecx
add esp, 4
jmp 0x4095db
call 0x4095e7
add byte [edi], dh
inc edi
xor al, byte [eax + 0x35]
cmp al, byte [ebx + 0x3eb04c4]
xor eax, 0xbe83d3f
add byte [eax], al
add byte [eax], al
inc ecx
inc edx
inc edi
aaa
dec ebp
cmp dword [eax + 0x3c], ecx
xor eax, 0x5f04c483
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
or edx, 0x20
cmp eax, edx
jge 0x409636
mov dword [ebp - 0x6ec], 0xffffffff
jmp 0x409640
mov dword [ebp - 0x6ec], 1
cmp dword [ebp - 0x6ec], 0
jne 0x409657
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0x240], eax
jmp 0x409668
jmp 0x409441
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x409743
push edx
call 0x409683
add byte [ebx], bh
inc esi
cmp byte [esp + eax*2 + 0x45], cl
dec esp
add esp, 4
sub edx, 0x85f6
or edx, 0xd977
pop edx
push edi
or edi, 0x18493
or edi, 0xd987
xor edi, 0x90c8
pop edi
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0xe88], edx
push edx
push edx
add esp, 4
xor edx, 0x134b7
add edx, 0x2beb
or edx, 0xed24
pop edx
push ecx
push ecx
add esp, 4
xor ecx, 0xaebb
pop ecx
push eax
add eax, 0x740
and eax, 0x43d6
pop eax
mov eax, dword [ebp - 0xe88]
mov dword [ebp - 0xe8c], eax
lea ecx, [ebp - 0xc50]
push ecx
call dword [ebp - 0xe8c]
test eax, eax
jne 0x409743
push eax
xor eax, 0x68da
call 0x409718
add byte [0x433e4435], dh
inc esi
dec esi
aaa
cmp eax, 0xeb04c483
add al, 0x41
dec ecx
dec ecx
inc ecx
call 0x409730
add byte [ecx], bh
cmp cl, byte [ecx + edi + 0x37]
inc edi
inc ecx
inc esi
inc esp
add esp, 4
pop eax
mov dword [ebp - 0x618], 0
jmp 0x409e2e