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

Disassembly:
push dword fs:[ebp]
mov dword fs:[ebp], esp
lea esi, [esp + 8]
lea ebx, [esp + 0x408]
mov dword [edi - 0x10], esi
cmp esi, ebx
jae 0x100460b0
push 0x1c
push ebx
push ebp
call dword [edi - 0x30]
test eax, eax
je 0x100460b0
mov ebp, dword [ebx]
push 2
push esi
push ebp
call dword [edi - 0x2c]
test eax, eax
je 0x100460ab
test ebp, ebp
je 0x100460ab
mov dword [esi], ebp
lodsd eax, dword [esi]
add ebp, dword [ebx + 0xc]
jmp 0x10046088
and dword [esi], 0
mov ebx, edi
and dword [edi - 0x2c], 0
mov esi, dword [ebx + 4]
cmp dword [ebx], 0xfffffffe
jne 0x100460cc
push dword [esi + 0x10]
pop dword [edi - 0x2c]
jmp 0x10046339
push ebx
call dword [edi - 0x20]
test eax, eax
jne 0x10046348
push ebx
call dword [edi - 0x28]
test eax, eax
je 0x10046106
mov ebx, eax
lea ecx, [edi - 0x40]
mov esi, dword [edi - 0x24]
push ecx
push ebx
call esi
test eax, eax
je 0x100460f4
call eax
jmp 0x1004610c
lea ecx, [edi - 0x3d]
push ecx
push ebx
call esi
test eax, eax
jne 0x1004610c
push 1
push ebx
call esi
test eax, eax
je 0x10046341
xchg esi, eax
and dword [edi - 0x30], 0
cmp dword [esi], 0xffffffff
je 0x10046348
mov ax, word [esi + 8]
test al, 0x80
jne 0x10046339
test al, 0x20
je 0x1004612c
and al, 0xfb
mov word [edi - 0x40], ax
test ah, 6
je 0x10046150
or byte [esi + 9], 1
or byte [edi - 0x3f], 1
test ah, 4
jne 0x100461e3
sub ebx, ebx
lea ebp, [esi + 4]
jmp 0x100462e4
test al, 2
je 0x1004615b
call fcn.1004646c
test eax, eax
je 0x100461e3
xchg ebx, eax
mov edx, dword [ebx + 0x3c]
mov edx, dword [ebx + edx + 0x80]
test edx, edx
je 0x10046154
add edx, ebx
mov ebp, dword [edx + 0xc]
test ebp, ebp
je 0x10046154
add ebp, ebx
add edx, 0x14
push edx
push ebp
push dword [esi]
call dword [edi - 0x14]
test eax, eax
pop edx
jne 0x10046172
mov ebp, dword [edx - 0x14]
test ebp, ebp
je 0x10046172
cmp ebp, dword [edx - 4]
je 0x10046172
jmp 0x1004619c
pop edx
add ebp, 4
mov ecx, dword [ebx + ebp]
mov eax, dword [esi + 4]
jecxz 0x10046172
push edx
cmp eax, 0x10000
jae 0x100461b7
test ecx, ecx
jns 0x10046198
cmp ax, cx
je 0x100461ca
jmp 0x10046198
test ecx, ecx
js 0x10046198
add ecx, ebx
mov dl, byte [eax]
cmp dl, byte [ecx + 2]
jne 0x10046198
inc eax
inc ecx
test dl, dl
jne 0x100461bd
pop edx
push edx
push ebp
mov eax, dword [edx - 4]
sub ebp, dword [edx - 0x14]
add ebp, eax
add ebp, ebx
push 4
push 0
call fcn.1004635d
pop ebp
jmp 0x10046198
test word [edi - 0x40], 0x104
je 0x10046268
push dword [esi]
call dword [edi - 0x20]
test eax, eax
je 0x10046339
xchg ebx, eax
push dword [esi + 4]
push ebx
call dword [edi - 0x24]
test eax, eax
je 0x10046268
test byte [edi - 0x3f], 1
je 0x10046217
lea ebp, [edi - 0x3c]
sub eax, ebx
mov dword [ebp], eax
jmp 0x100462e4
push eax
call fcn.1004646c
test eax, eax
xchg ebx, eax
pop eax
je 0x10046268
mov edx, dword [ebx + 0x3c]
mov edx, dword [ebx + edx + 0x80]
sub ecx, ecx
test edx, edx
je 0x10046217
add edx, ebx
jmp 0x1004623a
add ecx, 0x14
cmp dword [ecx + edx + 0xc], 0
je 0x10046217
mov ebp, dword [ecx + edx + 0x10]
lea ebp, [ebx + ebp - 4]
cmp dword [ebp + 4], 0
je 0x10046237
cmp eax, dword [ebp + 4]
lea ebp, [ebp + 4]
jne 0x10046249
push eax
push ecx
push edx
push 4
push 0
call fcn.1004635d
pop edx
pop ecx
pop eax
jmp 0x10046249
test word [edi - 0x40], 0x101
je 0x10046286
push dword [esi]
call dword [edi - 0x20]
test eax, eax
je 0x10046286
xchg ebx, eax
mov ebp, dword [esi + 4]
mov edx, dword [ebx + 0x3c]
mov edx, dword [ebx + edx + 0x78]
test edx, edx
je 0x10046318
add edx, ebx
cmp ebp, 0x10000
jae 0x1004629c
xchg ebp, eax
sub eax, dword [edx + 0x10]
jmp 0x100462d6
push ebx
push esi
push edi
mov ecx, dword [edx + 0x18]
mov esi, dword [edx + 0x20]
add esi, ebx
push edx
jecxz 0x100462bf
lodsd eax, dword [esi]
sub edi, edi
add eax, ebx
dec ecx
mov dl, byte [edi + eax]
cmp dl, byte [edi + ebp]
jne 0x100462a8
inc edi
test dl, dl
jne 0x100462b0
sub eax, eax
pop edx
pop edi
pop esi
pop ebx
test eax, eax
jne 0x10046339
sub ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x24]
inc ecx
neg ecx
add eax, ebx
movzx eax, word [eax + ecx*2]
mov ecx, ebx
add ecx, dword [edx + 0x1c]
lea ebp, [ecx + eax*4]
test byte [edi - 0x3f], 1
je 0x10046308
call fcn.10047531
test byte [esi + 9], 4
je 0x10046339
and byte [esi + 9], 0xfb
test al, al
jne 0x10046339
or dword [esi + 0xc], 0xffffffff
or byte [esi + 8], 6
and byte [esi + 9], 0xfe
jmp 0x1004610d
test byte [edi - 0x40], 1
je 0x10046339
push 4
push ebx
call fcn.1004635d
test eax, eax
jmp 0x10046339
add esi, 0x18
jmp 0x1004610d
mov eax, 0xe1c2f3b5
jmp 0x1004634d
mov eax, 0xe1c2f3b0
pop dword fs:[0]
add esp, 0x420
ret 4