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

Disassembly:
jmp 0x46b6c2
mov ebx, dword [esp + 0x24]
xor ebp, ebp
cmp edi, dword [esp + 0x80]
jg 0x46b96c
mov eax, dword [esp + 0x28]
cmp ebx, eax
jge 0x46b6df
sub ebx, eax
mov eax, dword [esp + 0x58]
add ebx, eax
push ebx
mov ecx, esi
call fcn.0046a1f0
push eax
push edi
mov ecx, esi
call fcn.0046a5c0
mov ebp, eax
call 0x786afb81
cmp ebp, eax
jl 0x46b953
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
cmp eax, 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebp
jne 0x46b7e9
lea ecx, [esp + 0x74]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
call dword [0x46e43c]
lea ecx, [esp + 0x14]
push ecx
call dword [0x46e3fc]
test eax, eax
jne 0x46b953
lea edx, [esp + 0x174]
lea ecx, [esp + 0xbc]
mov word [esp + edi*4], fs
add byte [eax], al
add byte [edx - 0x18], dl
aad 0x8e
add eax, dword [eax]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
sub eax, edx
sub ecx, edi
push 0xf00021
push eax
mov eax, dword [esp + 0xc8]
push ecx
push edx
push edi
push eax
call dword [0x46e0a4]
mov edx, dword [esp + 0xc4]
lea ecx, [esp + 0x14]
push 2
push ecx
push edx
call dword [0x46e0e4]
lea eax, [esp + 0x14]
push eax
call dword [0x46e144]
push eax
lea ecx, [esp + 0x4c]
call 0x4a4fe0
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x48]
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x68]
neg eax
sbb eax, eax
push 4
and eax, edi
neg ecx
sbb ecx, ecx
push eax
and ecx, edx
push ecx
push edx
call dword [0x46e0b0]
lea ecx, [esp + 0x48]
call 0x4a5037
jmp 0x46b953
mov edx, dword [esp + 0xc4]
lea ecx, [esp + 0x30]
push 1
push ecx
push edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], edi
call dword [0x46e0e4]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc4]
inc eax
push 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0x34]
push eax
push ecx
call dword [0x46e0e8]
lea edx, [esp + 0x138]
lea ecx, [esp + 0xbc]
push edx
call 0x4a4634
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x230]
push eax
push 0
push ecx
lea ecx, [esp + 0xc8]
call 0x4a4b25
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0xc4]
call 0x4a4b71
lea ecx, [esp + 0x110]
push ecx
lea ecx, [esp + 0xc0]
call 0x4a4634
mov edx, dword [esp + 0x3c]
push ebp
push edx
lea ecx, [esp + 0xc4]
call 0x4a4b71
push ebp
push 0
lea ecx, [esp + 0xc4]
call 0x4a4b71
push edi
push 0
lea ecx, [esp + 0xc4]
add byte [eax], al
add al, ch
rcl byte [edx - 0x72bcfffd], 0x84
and al, 0x48
add al, byte [eax]
add byte [ebx + 0x68], dl
adc al, 0x6d
dec ecx
add byte [eax - 1], dl
adc eax, 0x46e3dc
lea ecx, [esp + 0x9c]
add esp, 0xc
test ecx, ecx
je 0x46b8ee
mov eax, dword [esp + 0x94]
test eax, eax
je 0x46b8ee
mov edx, dword [esp + 0xc0]
push eax
push edx
call dword [0x46e098]
push 0
lea ecx, [esp + 0xc0]
call 0x4a47c8
lea eax, [esp + 0x248]
lea ecx, [esp + 0x158]
push eax
call 0x49e407
imul dword [edx]
add eax, dword [eax]
mov eax, dword [esp + 0x158]
lea edx, [esp + 0x14]
push 0x825
push edx
mov ecx, dword [eax - 8]
mov byte [esp + 0x28c], 0x12
push ecx
push eax
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0xcc]
add byte [eax], al
add bh, bh
push eax
push 0x58248c8d
add dword [eax], eax
add dh, al
test byte [esp + eax*4], ah
add al, byte [eax]
add byte [eax], dl
call 0x49e399
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x64]
inc eax
mov edi, ebp
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x46b6bc
xor ebp, ebp