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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, ecx
lea edx, [ebp - 0xc]
push edi
mov edi, dword [ebp + 8]
lea ecx, [esi + 0xa38]
push edx
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
lea edx, [ebp - 0x20]
push edx
xor bl, bl
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 0x230e18c3
mov dword [ebp - 0x14], ecx
call dword [eax + 0x20]
cmp al, 1
jne 0x409e73
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 4]
push edx
push 0x199627
mov eax, dword [ecx]
call dword [eax]
test al, al
je 0x409e67
cmp edi, 0xa352f1b5
jne 0x409739
cmp dword [ebp + 0xc], 0x39ef6ff9
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x54]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x20]
push edx
mov eax, dword [ecx]
call dword [eax + 0x54]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x34]
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x40]
setne al
mov byte [esi + 0x3c], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x44]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
setne al
mov byte [esi + 0x48], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x4a]
push 0x20
setne al
mov byte [esi + 0x49], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x5c]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
setne al
mov byte [esi + 0x6c], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x70]
setne al
mov byte [esi + 0x6d], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x78]
setne al
mov byte [esi + 0x74], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x80]
setne al
mov byte [esi + 0x7c], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
setne al
mov byte [esi + 0x85], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
setne al
mov byte [esi + 0x86], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x88]
setne al
mov byte [esi + 0x84], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x8c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x90]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x94]
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x98]
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x48]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
setne al
mov byte [esi + 0xa0], al
mov eax, dword [ecx]
add esi, 0xa4
push esi
call dword [eax + 0x38]
mov bl, al
jmp 0x409e5f
cmp edi, 0x6314c631
jne 0x4097c5
cmp dword [ebp + 0xc], 0x6313bf98
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
cmp bl, 1
jne 0x409e5f
xor edi, edi
cmp dword [ebp - 8], edi
jbe 0x409e5f
add esi, 0xb34
mov ecx, dword [ebp - 4]
and byte [ebp + 0xf], 0
lea edx, [ebp - 0x10]
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x4097aa
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xb]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x4097aa
cmp byte [ebp + 0xb], 0
setne byte [ebp + 0xf]
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0040aa89
mov cl, byte [ebp + 0xf]
inc edi
mov byte [eax], cl
cmp edi, dword [ebp - 8]
jb 0x40977a
jmp 0x409e5f
cmp edi, 0x4324f379
jne 0x40986e
cmp dword [ebp + 0xc], 0x39ef6f00
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x8ac]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x8b0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x8b4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edi, [esi + 0x8b8]
push 0x80
push edi
mov eax, dword [ecx]
call dword [eax + 0x5c]
and byte [esi + 0x937], 0
cmp byte [edi], 0
je 0x409862
mov al, byte [edi]
test al, al
je 0x409862
mov ecx, edi
cmp al, 0x20
jl 0x40985f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x409851
jmp 0x409862
and byte [edi], 0
mov byte [esi + 0x8a8], 1
jmp 0x409e5f
cmp edi, 0x324f37e
jne 0x4098b2
cmp dword [ebp + 0xc], 0x4324f45e
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov byte [esi + 0x938], 1
setne al
mov byte [esi + 0x939], al
jmp 0x409e5f
cmp edi, 0xa324f381
jne 0x409945
cmp dword [ebp + 0xc], 0xa324f46a
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x940]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x948]
setne al
mov byte [esi + 0x944], al
mov eax, dword [ecx]
push edx
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x94c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x93c], 1
jmp 0x409e5f
cmp edi, 0x324f385
jne 0x4099b1
cmp dword [ebp + 0xc], 0xc324f475
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x954]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x958]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x95c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x950], 1
jmp 0x409e5f
cmp edi, 0xc324f388
jne 0x409a04
cmp dword [ebp + 0xc], 0xc324f47f
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x964]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x968]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x960], 1
jmp 0x409e5f
cmp edi, 0x2324f38b
jne 0x409a70
cmp dword [ebp + 0xc], 0x2324f488
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x970]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x974]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x978]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x96c], 1
jmp 0x409e5f
cmp edi, 0xa324f390
jne 0x409ac3
cmp dword [ebp + 0xc], 0x324f492
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x980]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x984]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x97c], 1
jmp 0x409e5f
cmp edi, 0xc324f393
jne 0x409bfb
cmp dword [ebp + 0xc], 0xe324f49a
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x98c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x990]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x994]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x998]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x99c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9a0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9a4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9a8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9ac]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9b0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9b4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x988], 1
jmp 0x409e5f
cmp edi, 0x633350da
jne 0x409ccf
cmp dword [ebp + 0xc], 0x233350df
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9bc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9c0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9c4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9c8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9cc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9d0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9d4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x9b8], 1
jmp 0x409e5f
cmp edi, 0x3357d61
jne 0x409d09
cmp dword [ebp + 0xc], 0x43357d6c
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9dc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov byte [esi + 0x9d8], 1
jmp 0x409e5f
cmp edi, 0xa334f3f4
jne 0x409dc6
cmp dword [ebp + 0xc], 0xe334f3fe
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9f4]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
xor edi, edi
test bl, bl
mov dword [ebp + 8], edi
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
cmp dword [ebp + 8], edi
jbe 0x409db2
mov ecx, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e5f
mov ecx, dword [ebp - 4]
lea edx, [ebp + 0xf]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov bl, al
test bl, bl
je 0x409e5f
cmp byte [ebp + 0xf], 0
lea ecx, [esi + 0x9e0]
setne al
mov byte [ebp - 0x10], al
push dword [ebp - 0x10]
mov eax, dword [ecx]
push dword [ebp - 8]
call dword [eax + 0xc]
mov bl, al
test bl, bl
je 0x409e5f
inc edi
cmp edi, dword [ebp + 8]
jb 0x409d5b
test bl, bl
je 0x409e5f
mov byte [esi + 0x9f0], 1
jmp 0x409e5f
cmp edi, 0x1a35002a
jne 0x409e33
cmp dword [ebp + 0xc], 0x5a35004a
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0x9fc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e2b
mov ecx, dword [ebp - 4]
lea edx, [esi + 0xa00]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov bl, al
test bl, bl
je 0x409e2b
mov ecx, dword [ebp - 4]
lea edx, [esi + 0xa04]
push edx
mov eax, dword [ecx]
call dword [eax + 0x58]
mov bl, al
test bl, bl
je 0x409e2b
mov ecx, dword [ebp - 4]
lea edx, [esi + 0xa10]
push edx
mov eax, dword [ecx]
call dword [eax + 0x58]
mov bl, al
mov byte [esi + 0x9f8], bl
jmp 0x409e5f
cmp edi, 0xba3512e9
jne 0x409e5d
cmp dword [ebp + 0xc], 0xba3512fd
jne 0x409e5d
mov ecx, dword [ebp - 4]
lea edx, [esi + 0xa20]
push edx
mov eax, dword [ecx]
call dword [eax + 0x54]
mov bl, al
mov byte [esi + 0xa1c], bl
jmp 0x409e5f
xor bl, bl
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x24]
pop edi
mov al, bl
pop esi
pop ebx
leave
ret 8