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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x70]
push ebp
mov ebp, dword [esp + 0x6c]
push esi
push edi
mov edi, dword [esp + 0x6c]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x10], ecx
mov eax, dword [edi + 0x14]
mov dword [esp + 0x14], ecx
test bl, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
je 0x462645
mov edx, dword [esp + 0x70]
push ecx
lea ecx, [esp + 0x14]
push ecx
push edx
push ebp
call fcn.0041b5f0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x462911
mov ecx, 6
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x34]
mov ecx, 6
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x64]
mov eax, 0x28
or ecx, eax
or edx, eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
test byte [ecx + 0xf4], 0x10
jne 0x4625ec
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
test byte [eax + 0x394], 2
jne 0x4625ec
mov edx, dword [eax + 0x15c]
test edx, edx
je 0x4625ec
mov eax, 0x20000000
jmp 0x4625ee
xor eax, eax
or al, 9
lea edx, [esp + 0x50]
push eax
lea eax, [esp + 0x24]
push edx
push eax
push ecx
call fcn.0045f920
mov esi, eax
add esp, 0x10
cmp esi, 0xffff86f3
jne 0x462618
mov dword [esp + 0x1c], 1
xor esi, esi
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x46262f
test esi, esi
jne 0x46262f
mov esi, eax
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x10], 0
test esi, esi
jne 0x46292c
xor ecx, ecx
mov edx, dword [esp + 0x78]
mov eax, dword [ebp + 0x134]
mov dword [ebp + 0xf4], edx
mov edx, dword [ebp + 0x118]
mov dword [ebp + 0x240], edx
mov edx, dword [ebp + 0x250]
or edx, 0x2000000
mov dword [ebp + 0xf8], edi
test bh, 0x20
mov dword [ebp + 0x23c], eax
mov dword [ebp + 0x134], 0x462980
mov dword [ebp + 0x118], 0x41d860
mov dword [ebp + 0x250], edx
je 0x4626a6
mov eax, dword [ebp + 0xfc]
or al, 1
mov dword [ebp + 0xfc], eax
mov eax, dword [edi + 0x20]
cmp eax, ecx
je 0x4626cc
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.004151f0
add esp, 8
test eax, eax
je 0x4626cc
pop edi
pop esi
pop ebp
mov eax, 0xffff8702
pop ebx
add esp, 0x58
ret
lea eax, [edi + 0xe4]
mov dword [ebp + 0xf0], 1
lea edx, [ebp + 0xe8]
mov ecx, dword [eax]
test ecx, ecx
mov dword [edx], ecx
je 0x4626f2
mov ecx, dword [eax]
mov dword [ecx + 0xec], edx
mov dword [eax], ebp
mov dword [ebp + 0xec], eax
mov eax, dword [edi + 0x20]
test eax, eax
je 0x462720
mov edx, dword [esp + 0x18]
push eax
push edx
call fcn.00415420
add esp, 8
test eax, eax
je 0x462720
pop edi
pop esi
pop ebp
mov eax, 0xffff8702
pop ebx
add esp, 0x58
ret
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x462911
mov eax, dword [ebp + 0x14]
mov ebx, dword [esp + 0x70]
lea edx, [esp + 0x10]
mov ecx, dword [eax + 0x394]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x23
push ecx
push edx
push ebx
push ebp
call fcn.0041b5f0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x462911
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 0x18]
mov edx, dword [ecx + 0x68]
push edx
push esi
push esi
push eax
push ebx
push edi
call fcn.00461c60
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x462911
mov ecx, dword [esp + 0x10]
push 0x12
mov edx, dword [ecx + 0x68]
mov ecx, 6
mov dword [edi + 0x58], edx
lea edi, [esp + 0x24]
mov edx, dword [esp + 0x18]
rep stosd dword es:[edi], eax
mov ecx, 6
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x54]
lea ecx, [esp + 0x24]
push eax
push ecx
push edx
call fcn.0045f920
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x462903
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x38]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x38]
lea ecx, [esp + 0x50]
push eax
push ecx
push edx
push ebp
call dword [esp + 0x88]
mov esi, eax
add esp, 0x10
test esi, esi
je 0x462805
cmp esi, 0xffff86ea
jne 0x46290d
jmp 0x4628e0
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x18]
cmp eax, 4
je 0x462816
cmp eax, 3
jne 0x462850
test dword [ebp + 0x250], 0x10000000
je 0x462850
mov eax, dword [esp + 0x20]
mov bl, byte [eax + 2]
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [esp + 0x72], bl
mov bl, byte [eax + 3]
mov byte [eax], bl
mov eax, dword [esp + 0x20]
mov bl, byte [esp + 0x72]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x20]
mov byte [eax + 2], dl
mov edx, dword [esp + 0x20]
mov byte [edx + 3], cl
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push 0x22
lea ecx, [esp + 0x3c]
push eax
push ecx
push edx
call fcn.00460050
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x462958
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x18]
cmp eax, 4
je 0x462884
cmp eax, 3
jne 0x4628be
test dword [ebp + 0x250], 0x10000000
je 0x4628be
mov eax, dword [esp + 0x20]
mov bl, byte [eax + 2]
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [esp + 0x7e], bl
mov bl, byte [eax + 3]
mov byte [eax], bl
mov eax, dword [esp + 0x20]
mov bl, byte [esp + 0x7e]
mov byte [eax + 1], bl
mov eax, dword [esp + 0x20]
mov byte [eax + 2], dl
mov edx, dword [esp + 0x20]
mov byte [edx + 3], cl
test byte [esp + 0x4c], 1
je 0x4628e0
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 0x14]
push eax
push ecx
call fcn.00410ac0
mov eax, dword [esp + 0x54]
add esp, 8
and al, 0xfe
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x50]
push 0x12
lea eax, [esp + 0x24]
push edx
push eax
push ecx
call fcn.0045f920
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4627c7
cmp esi, 0xffff86f3
jne 0x46290d
xor esi, esi
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x46292c
push eax
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x46292c
test esi, esi
jne 0x46292c
mov esi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x462947
push eax
call fcn.0045f1b0
add esp, 4
test eax, eax
je 0x462947
test esi, esi
jne 0x462947
mov esi, eax
mov dword [edi + 0x58], 0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
test byte [esp + 0x4c], 1
je 0x46290d
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x14]
push edx
push eax
call fcn.00410ac0
mov eax, dword [esp + 0x54]
add esp, 8
and al, 0xfe
mov dword [esp + 0x4c], eax
jmp 0x46290d