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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x40], ecx
lea eax, [ebp + 0x28]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x461a08
mov eax, dword [esp + 0x40]
call fcn.00460d20
mov edi, edx
mov ecx, edx
or edi, eax
je 0x461a08
mov edi, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edi
mov edi, dword [esp + 0xe4]
mov dword [esp], edi
call fcn.00460830
test eax, eax
mov esi, eax
je 0x4617f4
mov eax, dword [eax + 0x10]
test eax, eax
je 0x461775
mov edx, dword [esi + 0x14]
xor ebx, ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea edi, [esp + 0x90]
mov dword [esp + 0x64], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], edx
jmp 0x4616bc
cmp eax, 0x1b
je 0x4618d0
cmp eax, 0x55
je 0x461894
cmp eax, 0x12
je 0x461862
nop
lea esi, [esi]
add ebx, 1
cmp dword [esi + 0x10], ebx
jbe 0x461760
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0x34]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ebx*8 + 4]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x10], edi
mov dword [esp + 8], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
mov edx, dword [esp + 0x40]
call fcn.00460f20
test eax, eax
je 0x4617f6
mov eax, dword [esi + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [eax + ebx*8]
cmp eax, 0x11
je 0x461830
ja 0x461690
cmp eax, 3
je 0x461801
cmp eax, 0x10
jne 0x4616b0
cmp dword [esi + 8], 0x11
jne 0x4616b0
mov eax, dword [esp + 0x90]
cmp eax, 1
je 0x461741
cmp eax, 6
jne 0x4616b0
add ebx, 1
cmp dword [esi + 0x10], ebx
mov eax, dword [esp + 0x98]
mov dword [ebp + 0x18], eax
ja 0x4616bc
mov esi, esi
lea edi, [edi]
mov eax, dword [esi + 8]
cmp eax, 0x11
je 0x461934
cmp eax, 0x2e
je 0x461934
mov esi, dword [esi + 0xc]
test esi, esi
je 0x4615d4
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
call fcn.004615b0
test eax, eax
jne 0x4615d4
xor eax, eax
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esi + 8], 0x11
jne 0x4616b0
cmp dword [esp + 0x90], 3
jne 0x4616b0
mov eax, dword [esp + 0x98]
mov dword [ebp + 0x1c], eax
jmp 0x4616b0
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x4616b0
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x54], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
jmp 0x4616b0
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x461900
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x44], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
jmp 0x4616b0
mov eax, dword [esp + 0x90]
cmp eax, 1
je 0x4618a9
cmp eax, 6
jne 0x4616b0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], 1
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x5c], eax
jmp 0x4616b0
cmp dword [esi + 8], 0x11
jne 0x4616b0
cmp dword [esp + 0x90], 3
jne 0x4616b0
mov eax, dword [esp + 0x98]
mov dword [ebp + 0x20], eax
jmp 0x4616b0
cmp eax, 1
jne 0x4616b0
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x64], 1
mov dword [esp + 0x44], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
jmp 0x4616b0
mov ebx, dword [esp + 0x50]
test ebx, ebx
jne 0x461a12
movzx eax, byte [esp + 0x44]
test byte [esp + 0x54], al
je 0x461775
mov edx, dword [esp + 0x64]
test edx, edx
je 0x461967
mov eax, dword [esp + 0x38]
add dword [esp + 0x48], eax
mov edx, dword [esp + 0x3c]
adc dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x94], ebx
mov edx, ecx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0xe8]
mov dword [esp], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x9c], ebx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebp
call fcn.004603b0
test eax, eax
je 0x4617f6
cmp dword [esi + 8], 0x11
jne 0x461775
mov eax, 1
jmp 0x4617f6
cmp dword [esp + 0x5c], 0
jbe 0x461a41
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], 0
mov dword [esp + 4], str.ranges_offset_out_of_range
mov dword [esp], eax
call dword [esp + 0xe4]
xor eax, eax
jmp 0x4617f6
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0xdc]
jae 0x461a19
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x90], str..debug_ranges
mov dword [esp + 0xac], 0
mov dword [esp + 0x44], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xd8]
add eax, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xdc]
sub eax, ecx
xor ecx, ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xa8], eax
test ecx, ecx
jne 0x4617f4
mov ebx, dword [esp + 0x34]
mov edx, dword [ebp + 0x14]
mov eax, ebx
call fcn.00460dd0
mov edi, edx
mov edx, dword [ebp + 0x14]
mov esi, eax
mov eax, ebx
mov ebx, edi
call fcn.00460dd0
mov ecx, esi
or ebx, edx
or ecx, eax
or ebx, ecx
je 0x461b7e
mov ecx, dword [ebp + 0x14]
cmp ecx, 2
je 0x461b55
jle 0x461b41
cmp ecx, 4
je 0x461b70
cmp ecx, 8
jne 0x461ba0
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
sete cl
movzx ecx, cl
test ecx, ecx
je 0x461ba0
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
test ecx, ecx
je 0x461ad2
xor eax, eax
jmp 0x4617f6
cmp ecx, 1
jne 0x461ba0
mov ebx, esi
xor bl, 0xff
or ebx, edi
sete cl
movzx ecx, cl
jmp 0x461b23
mov ebx, esi
xor ebx, 0xffff
or ebx, edi
sete cl
movzx ecx, cl
jmp 0x461b23
mov ecx, esi
not ecx
or ecx, edi
sete cl
movzx ecx, cl
jmp 0x461b23
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x44]
test ecx, ecx
je 0x4619fe
xor eax, eax
jmp 0x4617f6
add esi, dword [esp + 0x38]
mov dword [esp + 0x88], ebp
adc edi, dword [esp + 0x3c]
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x10], ebp
mov dword [esp], esi
mov dword [esp + 0x78], esi
mov ecx, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
call fcn.004603b0
test eax, eax
je 0x4617f4
mov ecx, dword [esp + 0xac]
jmp 0x461aca