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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x461bd3
sub esp, 0xd8
mov edx, dword [esp + 0xdc]
mov ebx, dword [edx]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov edi, dword [edx + 4]
test edi, edi
mov eax, edx
sete dl
and edx, ebp
test dl, dl
jne 0x461b1d
mov edx, dword [esp + 0xe4]
test edx, edx
je 0x461bba
cmp edi, 1
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov ecx, edx
seta dl
nop
nop
and ebp, 1
or edx, ebp
test dl, dl
je 0x461b10
mov edx, edi
xor ebp, ebp
mov esi, 0x20
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], edx
mov dword [esp + 0x2c], ebp
test ebp, ebp
seta dl
cmp edi, 0x10000
setae bl
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
or ebx, edx
test bl, bl
je 0x461b07
shr edi, 0x10
mov ebp, dword [esp + 0x2c]
mov edx, ebp
shl ebp, 0x10
or edi, ebp
shr edx, 0x10
add esi, 0x10
mov dword [esp + 0x2c], edx
cmp edi, 0x100
setae bl
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta dl
and ebx, ebp
or ebx, edx
test bl, bl
je 0x461afe
shr edi, 8
mov edx, dword [esp + 0x2c]
mov ebx, edx
shl edx, 0x18
or edi, edx
shr ebx, 8
add esi, 8
test ebx, ebx
jne 0x461bac
cmp edi, 0x100
jae 0x461ba0
mov dword [esp + 0x50], esi
lea edx, [0x54dda0]
movzx edx, byte [edx + edi]
mov dword [esp + 0x90], edx
lea ecx, [edx + esi - 0x40]
neg ecx
mov dword [esp + 0x30], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x98]
mov edi, ebp
shl ebp, cl
and ebp, ebx
mov dword [eax], ebp
lea ebp, [ecx - 0x20]
mov dword [esp + 0x98], ebp
cmp ebp, 0x20
sbb edx, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb esi, esi
mov ecx, ebp
mov ebp, edi
shr edi, cl
mov ecx, dword [esp + 0x98]
shl ebp, cl
and ebp, edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x94]
shl edx, cl
and edi, esi
and edx, ebx
or edx, edi
or edx, ebp
mov dword [eax + 4], edx
mov edx, dword [eax + 8]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x90]
add ebx, ebp
lea edx, [edx + ebx - 0x40]
mov dword [eax + 8], edx
mov dword [esp], eax
call fcn.004611b0
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 8]
neg ecx
mov dword [esp + 0x90], ecx
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0x98], edx
lea ebx, [ecx - 0x20]
mov dword [esp + 0x94], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x8c], ebp
mov esi, ebx
neg ebx
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0x88], edi
mov ebp, dword [eax + 4]
mov dword [esp + 0x84], ebp
mov eax, dword [eax]
mov dword [esp + 0x80], eax
shr eax, cl
and eax, edx
mov ecx, ebx
shl ebp, cl
and ebp, edi
or eax, ebp
mov ecx, esi
mov ebp, dword [esp + 0x84]
shr ebp, cl
mov edi, dword [esp + 0x8c]
and ebp, edi
or eax, ebp
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x90]
mov ebp, eax
shl eax, cl
and eax, edx
mov edx, dword [esp + 0x80]
sub edx, eax
mov dword [esp + 0x58], edx
mov ecx, esi
shl ebp, cl
and ebp, edi
mov ecx, ebx
mov edi, dword [esp + 0x7c]
shr edi, cl
mov ebx, dword [esp + 0x88]
and edi, ebx
or edi, ebp
mov ebp, dword [esp + 0x80]
sub ebp, eax
mov eax, dword [esp + 0x84]
sbb eax, edi
mov ebp, dword [esp + 4]
mov dword [esp + 0x60], ebp
mov edi, dword [esp + 0x7c]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xac]
jmp 0x461639
mov edx, eax
mov eax, 0xa
mov ebx, edx
mul ebp
mov ebp, dword [esp + 0x54]
inc ebp
mov esi, dword [esp + 0x44]
lea esi, [esi + esi*4]
lea edx, [edx + esi*2]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov eax, ebx
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
cmp ebx, 0x14
jge 0x461af7
mov esi, dword [esp + 0x44]
test esi, esi
sete dl
mov ebp, dword [esp + 0x40]
cmp ebp, edi
seta bl
test esi, esi
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, edx
or ebx, esi
test bl, bl
je 0x4615fb
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov ebx, dword [esp + 0xe4]
cmp ebx, edx
jge 0x461ae5
mov ebp, edx
sub edx, ebx
cmp edx, 0x14
jae 0x461b94
lea esi, [0x54d400]
lea edx, [esi + edx*8]
mov esi, dword [edx]
mov edx, dword [edx + 4]
test esi, esi
je 0x461b8f
mov dword [esp + 0x3c], edx
mov eax, edi
xor edx, edx
div esi
mov edx, eax
imul eax, esi
sub edi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x34], edi
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.004595e8
mov eax, 0x20
jmp 0x4616ee
add edi, 0x30
xchg edi, eax
mov byte [esp + ecx + 0xb3], al
xchg edi, eax
mov ecx, esi
mov esi, eax
mov eax, ecx
test edx, edx
jbe 0x461716
mov ecx, eax
mov eax, 0xcccccccd
mov edi, edx
mul edx
shr edx, 3
mov eax, esi
lea esi, [edx + edx*4]
shl esi, 1
sub edi, esi
lea esi, [ecx - 1]
cmp esi, 0x20
jb 0x4616dc
jmp 0x461b83
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], ebp
mov edx, dword [esp + 0xe0]
mov ecx, eax
jmp 0x461742
xchg ebp, ecx
mov byte [ebx + eax], cl
xchg ebp, ecx
lea eax, [edi + 1]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x38]
cmp eax, 0x20
jge 0x46176a
mov edi, eax
sub eax, ecx
cmp edi, 0x20
jae 0x461b77
mov esi, dword [edx + 4]
mov ebx, dword [edx]
movzx ebp, byte [esp + edi + 0xb4]
cmp eax, esi
jb 0x461729
jmp 0x461b70
lea edi, [ecx - 0x20]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [edx + 0xc], edi
mov eax, edi
mov edi, dword [esp + 0x60]
add ebp, edi
mov dword [edx + 0x10], ebp
lea ebx, [ecx + ebx - 0x20]
test ebx, ebx
jle 0x461ab9
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x461b58
cmp esi, 1
xchg edi, ebx
setne bl
xchg edi, ebx
mov ecx, esi
mov esi, dword [esp + 0x3c]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x461b58
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x9c], ecx
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov ecx, 1
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
jmp 0x4618a1
mov ebx, esi
shl esi, cl
and esi, edi
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x58]
sub eax, esi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0xd4]
mov byte [esi + ebp], al
mov eax, dword [esp + 0x64]
shl eax, cl
mov ecx, dword [esp + 0x84]
mov esi, ebx
shr ebx, cl
mov ecx, dword [esp + 0x94]
shl esi, cl
and eax, edi
mov edi, dword [esp + 0x88]
and ebx, edi
or eax, ebx
mov ebx, dword [esp + 0x8c]
and esi, ebx
or eax, esi
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
sub esi, edx
mov edx, dword [esp + 0x80]
sbb edx, eax
lea eax, [ebp + 1]
mov ebp, dword [esp + 0x48]
dec ebp
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov edi, ebx
mov ebx, ebp
mov dword [esp + 0x5c], edx
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x28], ebp
mov edx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x34]
test ebx, ebx
jle 0x4619ee
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
mov eax, 0xa
mov ebp, dword [esp + 0x58]
mul ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
mov ebx, 0xa
mul ebx
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x28]
lea ebx, [ebx + ebx*4]
lea edx, [edx + ebx*2]
mov dword [esp + 0x7c], edx
shl edx, 1
shr eax, 0x1f
or eax, edx
mov ecx, dword [esp + 0x94]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x84]
mov ebx, 1
shr ebx, cl
mov ebp, dword [esp + 0x88]
and ebx, ebp
and edx, edi
or edx, ebx
cmp edx, eax
setb dl
sete bl
mov eax, edi
mov edi, dword [esp + 0x24]
shl edi, 1
mov ecx, esi
mov ebp, 1
shl ebp, cl
mov esi, dword [esp + 0x98]
and ebp, esi
cmp ebp, edi
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov edi, dword [esp + 0x5c]
lea edi, [edi + edi*4]
mov esi, dword [esp + 0x80]
lea esi, [esi + edi*2]
and ebx, ebp
or ebx, edx
test bl, bl
jne 0x4619df
mov dword [esp + 0x80], esi
mov edx, ecx
mov ecx, dword [esp + 0x84]
mov ebx, esi
shl esi, cl
mov ecx, edx
mov edi, dword [esp + 0x58]
shr edi, cl
mov ecx, dword [esp + 0x94]
shr ebx, cl
mov ebp, dword [esp + 0x98]
and edi, ebp
mov ebp, dword [esp + 0x88]
and esi, ebp
or esi, edi
and ebx, eax
or ebx, esi
mov esi, ebx
add ebx, 0x30
mov dword [esp + 0x70], ebx
mov ecx, edx
mov ebp, dword [esp + 0x80]
shr ebp, cl
mov edi, dword [esp + 0x98]
and ebp, edi
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0xe0]
mov ebx, dword [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0xd4], ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
jb 0x461804
jmp 0x461b4f
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp], edx
mov ecx, dword [esp + 0x94]
shl ebp, cl
and ebp, edi
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x34]
shr edi, cl
mov edx, dword [esp + 0x88]
and edi, edx
or edi, ebp
mov edx, dword [esp + 0x5c]
or edx, edi
mov dword [esp + 8], edx
mov ecx, esi
mov ebp, dword [esp + 0x34]
shl ebp, cl
mov edi, dword [esp + 0x98]
and ebp, edi
mov edi, dword [esp + 0x58]
or edi, ebp
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
call fcn.00461be0
movzx eax, byte [esp + 0x20]
test al, al
je 0x461aaa
mov edx, dword [esp + 0xe0]
mov ebx, dword [edx + 0xc]
dec ebx
jmp 0x461a7c
dec ebx
test ebx, ebx
jl 0x461a9b
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x461b48
add ebp, ebx
cmp byte [ebp], 0x30
je 0x461a7b
lea eax, [ebx + 1]
mov dword [edx + 0xc], eax
mov byte [esp + 0xe8], 1
add esp, 0xd8
ret
mov byte [esp + 0xe8], 0
add esp, 0xd8
ret
mov ecx, esi
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
xor eax, eax
mov ebx, 1
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x38]
jmp 0x4619f9
mov ebp, edx
mov edx, edi
xor edi, edi
xor eax, eax
mov esi, 1
jmp 0x4616b8
xor edx, edx
jmp 0x46166d
mov ebx, dword [esp + 0x2c]
jmp 0x46145e
mov edx, dword [esp + 0x2c]
jmp 0x461425
mov edx, edi
mov ebp, edx
mov edi, ebx
xor esi, esi
jmp 0x4613dc
mov ecx, dword [esp + 0xe0]
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
movzx eax, byte [eax + 0xc]
mov byte [ecx + 0x14], al
mov byte [esp + 0xe8], 1
add esp, 0xd8
ret
mov eax, ebx
call fcn.00459460
mov eax, ebp
mov ecx, ebx
call fcn.00459460
lea eax, [0x4b2700]
mov dword [esp], eax
lea eax, [0x4e7b30]
mov dword [esp + 4], eax
call fcn.00430030
mov ecx, esi
call fcn.00459460
mov eax, edi
mov ecx, 0x20
call fcn.00459460
mov eax, esi
mov ecx, 0x20
call fcn.00459460
call fcn.0042eb20
mov eax, edx
mov ecx, 0x14
call fcn.00459460
mov eax, edi
mov ecx, 0x100
call fcn.00459470
mov esi, ebx
mov eax, edi
mov ecx, 0x100
call fcn.00459510
lea eax, [0x4b2700]
mov dword [esp], eax
lea eax, [0x4e7b28]
mov dword [esp + 4], eax
call fcn.00430030
nop
call fcn.00457e80
jmp fcn.00461360