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

Disassembly:
sub esp, 0x1c
push esi
push edi
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x14]
cmp edi, dword [esi + 0x108]
jne 0x348b5b7c
mov eax, dword [0x348ca260]
push 4
push eax
call fcn.348c4fa9
test eax, eax
jne 0x348b5b62
pop edi
mov eax, 0xfffffc0d
pop esi
add esp, 0x1c
ret 4
mov dword [edi + 0x50], eax
mov ecx, dword [eax]
mov word [ecx], 0
mov word [edi + 0x54], 0xa
pop edi
xor eax, eax
pop esi
add esp, 0x1c
ret 4
push ebx
mov ebx, dword [edi + 0x18]
push ebp
lea edx, [esp + 0x18]
push edx
movzx edx, word [esi + 0xea]
lea eax, [esp + 0x14]
push eax
mov eax, dword [esi + 0x10c]
xor ebp, ebp
push ebp
lea ecx, [esp + 0x2c]
push ecx
push edx
push ebx
push eax
call fcn.348a4a3c
cmp eax, ebp
jl 0x348b5e4a
mov eax, dword [esp + 0x18]
push eax
push eax
call fcn.3489737e
push eax
push esi
call fcn.348987c8
cmp eax, ebp
jl 0x348b5e4a
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x10c]
lea edx, [esp + 0x14]
push edx
push ebp
push eax
push ecx
call fcn.348b4875
cmp eax, ebp
jl 0x348b5e4a
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x30]
mov dword [esp + 0x14], ebp
mov eax, dword [esi + 0x34]
push edx
push eax
push ecx
call fcn.34899c25
movzx edx, word [eax]
mov ecx, dword [esi + 0x38]
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.34899c25
mov al, byte [eax]
mov byte [edi + 0x56], al
mov edx, dword [esi + 0x3c]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x30]
push ecx
push edx
push eax
call fcn.34899c25
mov cl, byte [eax]
mov eax, 0xf000f000
mov byte [edi + 0x57], cl
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], eax
mov edx, dword [0x348ca260]
push 4
push edx
mov dword [esp + 0x18], ebp
call fcn.348c4fa9
mov ebp, eax
test ebp, ebp
jne 0x348b5c69
mov ebx, 0xfffffc0d
jmp 0x348b5df1
movzx edx, word [esi + 0xec]
mov eax, dword [esi + 0x110]
lea ecx, [esp + 0x14]
push ecx
push ebx
push edx
push eax
mov dword [esp + 0x2c], 0
call fcn.348a4f05
mov ebx, eax
test ebx, ebx
jl 0x348b5df1
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.3489c7c1
mov ebx, eax
test ebx, ebx
jl 0x348b5df1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x348b5ddd
mov edx, dword [esi + 0x78]
lea ecx, [esp + 0x30]
push ecx
push edx
push eax
call fcn.34899c25
mov ebx, dword [eax]
mov ecx, dword [esi + 0x64]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x30]
push eax
push ecx
push edx
mov dword [esp + 0x30], ebx
call fcn.34899c25
movzx ax, byte [eax]
movzx eax, ax
cmp ax, 0xb
je 0x348b5cfa
cmp ax, 0xc
jne 0x348b5d2c
mov eax, dword [esp + 0x1c]
mov edx, dword [0x348ca260]
add eax, 1
lea ecx, [eax*4 + 4]
push ecx
push ebp
push edx
mov dword [esp + 0x28], eax
call fcn.348c502a
test eax, eax
je 0x348b5c5f
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c]
mov dword [eax + ecx*4], ebx
mov edx, dword [esi + 0x6c]
mov eax, dword [esp + 0x10]
push edx
push eax
call fcn.34899d08
test eax, eax
je 0x348b5d41
mov dword [edi + 0x34], ebx
mov ecx, dword [esi + 0x74]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.34899d08
test eax, eax
je 0x348b5d56
mov dword [edi + 0x30], ebx
test dword [esi + 0x120], 0x2000
jne 0x348b5d9b
movzx ax, byte [esp + 0x26]
and ebx, 0xfff
cmp ebx, 0x7d1
movzx eax, ax
ja 0x348b5d8a
movzx dx, byte [edi + 0x57]
mov ecx, 0xff
sub ecx, eax
cmp cx, dx
jmp 0x348b5d92
movzx cx, byte [edi + 0x56]
cmp ax, cx
sbb eax, eax
add eax, 1
test eax, eax
jne 0x348b5dcf
mov edx, dword [esp + 0x14]
push 0
push 0
push edx
call fcn.3489d30c
mov ebx, eax
test ebx, ebx
jl 0x348b5df1
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.3489c7c1
mov ebx, eax
test ebx, ebx
jge 0x348b5cb3
jmp 0x348b5df1
push edi
push esi
call fcn.348b5ae7
mov ebx, 0xfffffb47
jmp 0x348b5df1
test ebx, ebx
jl 0x348b5df1
mov eax, dword [esp + 0x14]
push eax
call fcn.3489c759
mov ebx, eax
test ebx, ebx
jge 0x348b5e1c
mov ecx, dword [esp + 0x14]
push ecx
call fcn.3489c7aa
test eax, eax
jl 0x348b5e4a
test ebp, ebp
je 0x348b5e10
mov edx, dword [0x348ca260]
push ebp
push edx
call fcn.348c5004
pop ebp
mov eax, ebx
pop ebx
pop edi
pop esi
add esp, 0x1c
ret 4
mov eax, dword [esp + 0x1c]
xor edx, edx
test eax, eax
setne dl
mov dword [edi + 0x50], ebp
mov ecx, dword [ebp]
mov word [ecx], ax
mov ax, word [esp + 0x28]
mov word [edi + 0x54], ax
add edx, edx
add edx, edx
add edx, edx
xor edx, dword [edi + 0x2c]
and edx, 8
xor dword [edi + 0x2c], edx
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x1c
ret 4