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

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x34]
test byte [ebx + 0x4b2], 1
push esi
push edi
mov dword [esp + 0xc], 0x80000000
je 0x3479f98e
mov dword [esp + 0xc], 0x80000002
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x228]
mov edi, dword [esp + 0x34]
push ebp
mov ebp, dword [esp + 0x3c]
mov eax, dword [ecx + ebp*4]
mov ecx, dword [eax + 0xe4]
push ebx
mov dword [esp + 0x18], ecx
lea edx, [ebx + 0x78]
or ecx, 0x10
push ebp
mov dword [eax + 0xd0], edx
mov dword [eax + 0xe4], ecx
push edi
mov dword [esp + 0x24], eax
mov dword [ebx + 0x50], 0
call fcn.34799223
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov eax, dword [ebx + 0x50]
push ebx
push ebp
push edi
mov dword [esp + 0x4c], eax
call fcn.347993de
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x3479fa06
mov eax, dword [ebx + 0x50]
test eax, eax
jne 0x3479fa10
mov esi, 0xfffffc15
jmp 0x3479fc3f
mov edx, dword [eax + 0x1378]
mov eax, dword [ecx + 4]
shr edx, 0xb
and edx, 1
push edx
push eax
push edi
call fcn.3477c910
test eax, eax
jl 0x3479fc27
push ebx
push ebp
push edi
call fcn.3479a9ec
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov eax, dword [ebx + 0x4b0]
test eax, 0x400
jne 0x3479fc27
mov ecx, dword [esp + 0x40]
shr eax, 0x10
and eax, 1
push eax
push ecx
push ebp
push edi
call fcn.347947e7
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov eax, dword [esp + 0x40]
test byte [eax + 0x1378], 4
je 0x3479fb9e
mov eax, dword [esp + 0x10]
or eax, 0x400000
push eax
push 0x347726a8
lea edx, [esp + 0x44]
push edx
mov dword [esp + 0x44], eax
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x60]
push ebp
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov edx, dword [esp + 0x3c]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x74]
push 0x34772824
push edx
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
push 0
push 0x18
lea ecx, [esp + 0x24]
push ecx
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x48]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0xbc]
push 0x34772824
push edx
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
push 0
push 0x18
lea ecx, [esp + 0x24]
push ecx
mov dword [eax + 0xcc], edx
mov edx, dword [esp + 0x48]
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0xbc]
push 0x347730ec
push edx
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
push ecx
mov dword [eax + 0xd0], edx
mov eax, dword [0x347efae8]
mov ecx, dword [eax + 0x60]
push 0x3477265c
lea edx, [esp + 0x44]
push edx
push ebp
push edi
call ecx
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [eax + 0x2c], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [0x347efae8]
mov eax, dword [edx + 0x74]
push 0x347732c8
push ecx
push edi
call eax
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov eax, dword [esp + 0x40]
lea ecx, [eax + 0x78]
push ecx
add eax, 8
push eax
push ebp
push edi
call fcn.347b267c
mov esi, eax
test esi, esi
jl 0x3479fc3f
movzx edx, byte [ebx + 0x4b2]
mov eax, dword [esp + 0x40]
and edx, 1
push edx
push eax
push ebx
push ebp
push edi
call fcn.34799afc
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov ecx, dword [esp + 0x40]
test byte [ecx + 0x1378], 0x20
jne 0x3479fc27
push ebx
push ebp
push edi
call fcn.3479b78e
mov esi, eax
test esi, esi
jl 0x3479fc3f
push ebx
push ebp
push edi
call fcn.3479f878
mov esi, eax
test esi, esi
jl 0x3479fc3f
push ebx
push ebp
push edi
call fcn.347aa9d8
mov esi, eax
test esi, esi
jl 0x3479fc3f
mov eax, dword [esp + 0x40]
and dword [eax + 0x1378], 0xfffffbff
push ebx
push edi
call fcn.3479f4a5
mov esi, eax
test esi, esi
jl 0x3479fc3f
push ebx
push ebp
push edi
call fcn.3479ecc0
mov esi, eax
test esi, esi
jl 0x3479fc3f
push ebx
push ebp
push edi
call fcn.347b3361
mov esi, eax
test esi, esi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [eax + 0xe4], edx
pop ebp
jge 0x3479fc6b
cmp dword [ebx + 0x50], 0
je 0x3479fc60
push esi
push ebx
push edi
call fcn.3478c846
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x24
ret 0xc
push 0
push ebx
push edi
call fcn.3478c846
pop edi
pop esi
pop ebx
add esp, 0x24
ret 0xc