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

Disassembly:
push 0x148
mov eax, 0x52438e
call fcn.0050983f
mov eax, dword [ebp + 0xc]
mov esi, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x18], eax
call fcn.004afd50
mov eax, dword [esi + 0x80]
mov ecx, dword [eax]
xor edi, edi
push edi
push edi
lea ebx, [esi + 0x30]
push dword [ebx + 4]
push dword [ebx]
push eax
call dword [ecx + 0x10]
cmp eax, edi
jne 0x4b08cc
push 0x8000
mov ecx, esi
call fcn.004b1a5d
test al, al
jne 0x4b00d1
mov eax, 0x8007000e
jmp 0x4b08cc
cmp dword [esi + 0x2c], 0x6054b50
mov eax, dword [esi + 0x80]
mov dword [esi + 0xc], eax
mov byte [ebp - 0x79], 1
mov byte [ebp - 0x81], 0
jne 0x4b0153
push 0x12
lea eax, [ebp - 0x38]
push eax
mov ecx, esi
call fcn.004aed2d
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xb4]
call fcn.004ae62b
call fcn.004ae606
test al, al
jne 0x4b011b
xor eax, eax
inc eax
jmp 0x4b08cc
mov edx, dword [esi + 0x48]
mov eax, dword [esi + 0x40]
push ebx
push edi
mov edi, dword [esi + 0x4c]
add edx, 4
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x44]
adc edi, 0
push edi
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x80]
push edx
mov byte [esi + 0x78], 1
mov ecx, dword [eax]
push eax
mov byte [ebp - 0x79], 0
call dword [ecx + 0x10]
test eax, eax
jne 0x4b08cc
xor eax, eax
xor edi, edi
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x20], eax
cmp byte [ebp - 0x79], al
je 0x4b027e
lea ecx, [ebp - 0x154]
call fcn.004afb52
and dword [ebp - 4], edi
lea eax, [ebp - 0x154]
push eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.004af6cb
test al, al
jne 0x4b01bb
lea ecx, [ebp - 0x154]
call fcn.004afab9
jmp 0x4b0113
push dword [ebp - 0x18]
and dword [ebp - 4], 0
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x80]
mov ecx, esi
mov byte [esi + 0x78], 1
call fcn.004afe93
mov edi, eax
mov dword [ebp - 0x20], edi
test edi, edi
jne 0x4b01f1
mov ecx, esi
call fcn.004aedff
mov dword [esi + 0x2c], eax
xor eax, eax
inc eax
cmp edi, eax
je 0x4b026b
test edi, edi
jne 0x4b02f6
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 4], edi
jne 0x4b020d
mov dword [ebp - 0x20], eax
jmp 0x4b026b
mov eax, dword [esi + 0x48]
sub eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x4c]
sbb ecx, dword [esi + 0x3c]
mov dword [ebp - 0x114], eax
push ecx
push eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x110], ecx
call fcn.004af408
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x4b024d
mov ecx, dword [ebp - 0x80]
mov ecx, dword [ecx]
mov edi, dword [ecx + eax*4]
lea eax, [ebp - 0x154]
call fcn.004ae810
test al, al
jne 0x4b0254
mov dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x80]
mov byte [esi + 0x68], 1
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x60], ecx
mov eax, dword [eax + 0x44]
mov dword [esi + 0x64], eax
lea ecx, [ebp - 0x154]
call fcn.004afab9
mov edi, dword [ebp - 0x9c]
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
mov dword [ebp - 4], 3
mov byte [ebp - 0x7a], 0
mov dword [ebp - 0x88], eax
jne 0x4b043a
mov ecx, dword [ebp - 0x80]
call fcn.004afd50
mov eax, dword [esi + 0x40]
push ebx
xor edi, edi
push edi
push dword [esi + 0x4c]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x44]
push dword [esi + 0x48]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x80]
mov byte [esi + 0x28], 0
mov ecx, dword [eax]
push eax
mov byte [ebp - 0x81], 1
call dword [ecx + 0x10]
cmp eax, edi
je 0x4b0308
mov edi, eax
lea ecx, [ebp - 0x34]
call fcn.004e5f65
jmp 0x4b0301
lea ecx, [ebp - 0x154]
call fcn.004afab9
mov eax, edi
jmp 0x4b08cc
mov ecx, esi
call fcn.004aedff
push dword [ebp - 0x18]
mov ecx, esi
push dword [ebp - 0x80]
mov dword [esi + 0x2c], eax
call fcn.004aff3f
cmp eax, edi
jne 0x4b02e1
cmp dword [esi + 0x2c], 0x2014b50
je 0x4b033d
add dword [ebx], 0xfffffffc
mov byte [esi + 0x7e], 1
mov byte [esi + 0x7a], 1
adc dword [ebx + 4], 0xffffffff
jmp 0x4b02e3
mov ecx, esi
mov byte [esi + 0x28], 1
call fcn.004b18f6
mov eax, dword [ebx]
add eax, 0xfffffffc
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 4]
adc eax, 0xffffffff
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x94], eax
call fcn.004afb52
jmp 0x4b03ca
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x34]
call fcn.004afd04
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4b039f
test dword [ebp - 0x30], 0xfff
jne 0x4b039f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
mov edx, dword [ecx]
push 0
push eax
call dword [edx + 8]
mov edi, eax
test edi, edi
jne 0x4b03e2
mov ecx, esi
call fcn.004aedff
mov dword [esi + 0x2c], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x154]
cmp eax, 0x2014b50
jne 0x4b03f2
call fcn.004afab9
lea ecx, [ebp - 0x154]
call fcn.004afb52
lea eax, [ebp - 0x154]
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.004af81d
mov edi, eax
test edi, edi
je 0x4b036c
lea ecx, [ebp - 0x154]
call fcn.004afab9
jmp 0x4b02e3
call fcn.004afab9
mov eax, dword [ebx]
sub eax, dword [ebp - 0x98]
mov edi, dword [ebx + 4]
sbb edi, dword [ebp - 0x94]
add eax, 0xfffffffc
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x30]
adc edi, 0xffffffff
mov byte [ebp - 0x7a], 1
mov dword [ebp - 0x88], eax
test eax, eax
je 0x4b043a
mov eax, dword [ebp - 0x34]
mov byte [esi + 0x68], 1
mov eax, dword [eax]
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x60], ecx
mov eax, dword [eax + 0x44]
mov dword [esi + 0x64], eax
push 0x30
lea eax, [ebp - 0xe4]
push 0
push eax
call fcn.00509940
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
add esp, 0xc
add eax, 0xfffffffc
adc ebx, 0xffffffff
cmp dword [esi + 0x2c], 0x6064b50
mov byte [ebp - 0x79], 0
mov dword [ebp - 0xec], eax
jne 0x4b0590
push 8
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
mov byte [ebp - 0x79], 1
mov byte [esi + 0x79], 1
call fcn.004aed2d
push 0x2c
lea eax, [ebp - 0x78]
push eax
mov ecx, esi
call fcn.004aed2d
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0xe4]
call fcn.004ae667
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
add eax, 0xffffffd4
adc ecx, 0xffffffff
push ecx
push eax
mov ecx, esi
call fcn.004aee65
mov ecx, esi
call fcn.004aedff
cmp dword [ebp - 0xe0], 0
mov dword [esi + 0x2c], eax
jne 0x4b0586
cmp dword [ebp - 0xdc], 0
jne 0x4b0586
cmp byte [ebp - 0x7a], 0
je 0x4b0515
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x94]
mov dword [esi + 0x38], ecx
mov ecx, dword [ebp - 0xbc]
sbb edx, eax
mov dword [esi + 0x3c], edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x7a], 0
mov ecx, dword [ebp - 0xd4]
xor eax, eax
cmp ecx, dword [ebp - 0x88]
jne 0x4b057e
cmp dword [ebp - 0xd0], eax
jne 0x4b057e
mov ecx, dword [ebp - 0xcc]
cmp ecx, dword [ebp - 0x88]
jne 0x4b057e
cmp dword [ebp - 0xc8], eax
jne 0x4b057e
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xa0]
jne 0x4b057e
cmp dword [ebp - 0xc0], edi
jne 0x4b057e
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0xbc], eax
jne 0x4b0575
mov eax, dword [ebp - 0x8c]
cmp dword [ebp - 0xb8], eax
je 0x4b0590
mov eax, dword [ebp - 0x80]
cmp dword [eax + 4], 0
je 0x4b0590
xor edi, edi
inc edi
jmp 0x4b02e3
mov edi, 0x80004001
jmp 0x4b02e3
cmp dword [esi + 0x2c], 0x7064b50
jne 0x4b05dc
cmp byte [ebp - 0x79], 0
je 0x4b057e
mov ecx, esi
call fcn.004aedff
push 8
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.004aed2d
mov ecx, esi
call fcn.004aedff
mov eax, dword [esi + 0x38]
add eax, dword [ebp - 0x24]
mov ecx, dword [esi + 0x3c]
adc ecx, dword [ebp - 0x20]
cmp dword [ebp - 0xec], eax
jne 0x4b057e
cmp ebx, ecx
jne 0x4b057e
mov ecx, esi
call fcn.004aedff
mov dword [esi + 0x2c], eax
cmp dword [esi + 0x2c], 0x6054b50
jne 0x4b057e
push 0x12
lea eax, [ebp - 0x4c]
push eax
mov ecx, esi
call fcn.004aed2d
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xb4]
call fcn.004ae62b
mov bl, byte [ebp - 0x79]
mov ecx, 0xffff
test bl, bl
je 0x4b0616
cmp word [ebp - 0xb4], cx
je 0x4b0623
movzx eax, word [ebp - 0xb4]
mov dword [ebp - 0xe0], eax
test bl, bl
je 0x4b0630
cmp word [ebp - 0xb2], cx
je 0x4b063d
movzx eax, word [ebp - 0xb2]
mov dword [ebp - 0xdc], eax
test bl, bl
je 0x4b064a
cmp word [ebp - 0xb0], cx
je 0x4b065e
movzx eax, word [ebp - 0xb0]
cdq
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], edx
test bl, bl
je 0x4b066b
cmp word [ebp - 0xae], cx
je 0x4b067f
movzx eax, word [ebp - 0xae]
cdq
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
test bl, bl
je 0x4b068c
cmp dword [ebp - 0xac], 0xffffffff
je 0x4b069f
mov eax, dword [ebp - 0xac]
and dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], eax
test bl, bl
je 0x4b06ac
cmp dword [ebp - 0xa8], 0xffffffff
je 0x4b06bf
mov eax, dword [ebp - 0xa8]
and dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], eax
cmp byte [ebp - 0x7a], 0
je 0x4b06f3
mov edi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x94]
sub eax, edi
sbb ecx, edx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], edx
cmp byte [ebp - 0x81], 0
je 0x4b072f
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x40]
mov edi, dword [esi + 0x3c]
mov ecx, dword [esi + 0x44]
cmp edx, eax
jne 0x4b0710
cmp edi, ecx
je 0x4b072f
sub eax, edx
sbb ecx, edi
mov edi, dword [ebp - 0x80]
xor ebx, ebx
cmp dword [edi + 4], ebx
jbe 0x4b072f
mov edx, dword [edi]
mov edx, dword [edx + ebx*4]
add dword [edx + 0x40], eax
adc dword [edx + 0x44], ecx
inc ebx
cmp ebx, dword [edi + 4]
jb 0x4b071e
cmp dword [ebp - 0x30], 0
je 0x4b0809
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x30], eax
jbe 0x4b0809
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ecx + eax*4]
push dword [ebx + 0x44]
mov eax, dword [ebp - 0x80]
push dword [ebx + 0x40]
call fcn.004af408
pop ecx
pop ecx
mov ecx, dword [ebp - 0x80]
cmp eax, 0xffffffff
jne 0x4b0770
push ebx
call fcn.004afd04
jmp 0x4b07f9
mov ecx, dword [ecx]
mov edi, dword [ecx + eax*4]
lea eax, [ebx + 0x20]
push eax
lea eax, [edi + 0x20]
push eax
call fcn.004ae5dd
pop ecx
pop ecx
test al, al
jne 0x4b07f9
mov eax, dword [edi + 0x10]
cmp eax, dword [ebx + 0x10]
jne 0x4b07f9
mov eax, dword [edi + 0x14]
cmp eax, dword [ebx + 0x14]
jne 0x4b07f9
mov eax, dword [edi + 8]
cmp eax, dword [ebx + 8]
jne 0x4b07f9
mov eax, dword [edi + 0xc]
cmp eax, dword [ebx + 0xc]
jne 0x4b07f9
mov eax, ebx
mov ecx, edi
call fcn.004ae7c8
test al, al
je 0x4b07f9
mov eax, dword [edi + 0x1c]
cmp eax, dword [ebx + 0x1c]
jne 0x4b07f9
mov ax, word [ebx + 0x38]
mov word [edi + 0x38], ax
lea eax, [ebx + 0x48]
push eax
lea ecx, [edi + 0x48]
call fcn.004af9a4
mov ax, word [ebx + 0x3a]
mov word [edi + 0x3a], ax
mov eax, dword [ebx + 0x3c]
mov dword [edi + 0x3c], eax
lea eax, [ebx + 0x54]
lea ecx, [edi + 0x54]
cmp eax, ecx
je 0x4b07f3
push dword [eax + 4]
push dword [eax]
call fcn.004ae9bc
mov al, byte [ebx + 0x5d]
mov byte [edi + 0x5d], al
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x30]
jb 0x4b0747
xor edi, edi
cmp dword [ebp - 0xe0], edi
jne 0x4b08bf
cmp dword [ebp - 0xdc], edi
jne 0x4b08bf
cmp byte [ebp - 0x79], 0
je 0x4b0841
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 4]
xor ecx, ecx
cmp dword [ebp - 0xd4], eax
jne 0x4b0859
cmp dword [ebp - 0xd0], ecx
jmp 0x4b0857
mov eax, dword [ebp - 0xd4]
cmp ax, word [ebp - 0x88]
jne 0x4b0859
mov ecx, dword [ebp - 0x80]
cmp ax, word [ecx + 4]
je 0x4b085d
mov byte [esi + 0x7a], 1
movzx eax, word [ebp - 0xa4]
push eax
lea eax, [esi + 0x6c]
push eax
mov ecx, esi
call fcn.004aedaa
mov ecx, esi
mov byte [esi + 0x28], 0
call fcn.004b18e4
mov ax, word [ebp - 0x88]
cmp word [ebp - 0xcc], ax
jne 0x4b08af
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0xc4], eax
jne 0x4b08af
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0xbc], eax
je 0x4b08b3
mov eax, dword [ebp - 0x80]
cmp dword [eax + 4], edi
je 0x4b08b3
mov byte [esi + 0x7a], 1
lea ecx, [ebp - 0x34]
call fcn.004e5f65
xor eax, eax
jmp 0x4b08cc
lea ecx, [ebp - 0x34]
call fcn.004e5f65
mov eax, 0x80004001
call fcn.0050989b
ret 8