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

Disassembly:
push 0xffffffffffffffff
push 0x103bb6a0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x105623f8]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x60]
mov eax, dword [ebp + 0x14]
lea edi, [esi + 0x60]
mov ecx, edi
mov dword [esp + 0x2c], eax
call fcn.0073e44f
mov ecx, dword [esi + 0x78]
or ecx, dword [esi + 0x7c]
lea ebx, [esi + 0x78]
jne 0x7412b4
mov edx, dword [esi + 0x80]
or edx, dword [esi + 0x84]
jne 0x7412b4
mov eax, dword [esi + 0x88]
or eax, dword [esi + 0x8c]
je 0x741333
push 1
lea ecx, [esp + 0x64]
push ecx
push 0xa
mov ecx, edi
call fcn.00740cff
mov edi, eax
push 1
push 0x20
mov ecx, edi
call fcn.007387ff
mov eax, dword [edi + 4]
mov edx, 1
mov word [eax + 4], dx
mov eax, dword [edi + 4]
mov ecx, 0x18
mov word [eax + 6], cx
mov eax, dword [ebp + 0x10]
mov dl, byte [eax + 0x2e]
mov eax, dword [edi + 4]
mov byte [esp + 0x60], dl
mov ebp, dword [esp + 0x60]
push ebp
add eax, 8
push eax
push ebx
mov ecx, esi
call fcn.0073eb4f
mov eax, dword [edi + 4]
push ebp
add eax, 0x10
push eax
lea eax, [esi + 0x80]
push eax
mov ecx, esi
call fcn.0073eb4f
mov edi, dword [edi + 4]
push ebp
add edi, 0x18
push edi
lea ecx, [esi + 0x88]
push ecx
mov ecx, esi
call fcn.0073eb4f
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
xor edi, edi
mov ebp, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebp
cmp eax, edi
ja 0x741376
jb 0x741350
cmp ecx, 0xffffffff
jae 0x741376
cmp dword [esi + 0x24], edi
ja 0x741376
jb 0x74135d
cmp dword [esi + 0x20], 0xffffffff
jae 0x741376
mov ebx, 0xffff
cmp dword [esi + 0x28], ebx
jae 0x741376
cmp dword [esi + 0x44], edi
ja 0x741376
cmp dword [esi + 0x40], 0xffffffff
jb 0x74145a
lea ecx, [esp + 0x38]
call fcn.007387af
push edi
lea edx, [esp + 0x64]
push edx
push 1
lea ecx, [esi + 0x60]
mov dword [esp + 0x64], edi
call fcn.00740cff
push edi
push 0x1c
lea ecx, [esp + 0x40]
mov ebx, eax
call fcn.007387ff
or ecx, 0xffffffff
cmp dword [esi + 0x24], 0
ja 0x7413af
cmp dword [esi + 0x20], ecx
jb 0x7413c7
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [edx], eax
mov eax, dword [esi + 0x24]
mov edx, dword [esp + 0x3c]
mov dword [edx + 4], eax
mov edi, 8
test ebp, ebp
ja 0x7413d1
cmp dword [esp + 0x30], ecx
jb 0x7413e5
mov eax, dword [esp + 0x3c]
mov edx, dword [esi + 0x18]
add eax, edi
mov dword [eax], edx
mov edx, dword [esi + 0x1c]
mov dword [eax + 4], edx
add edi, 8
cmp dword [esi + 0x44], 0
ja 0x7413f0
cmp dword [esi + 0x40], ecx
jb 0x741404
mov eax, dword [esp + 0x3c]
mov ecx, dword [esi + 0x40]
add eax, edi
mov dword [eax], ecx
mov edx, dword [esi + 0x44]
mov dword [eax + 4], edx
add edi, 8
mov eax, dword [esi + 0x28]
cmp eax, 0xffff
jb 0x741418
mov ecx, dword [esp + 0x3c]
mov dword [ecx + edi], eax
add edi, 4
push 0
push edi
mov ecx, ebx
call fcn.007387ff
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx + 4]
push edi
push edx
push eax
call fcn.0077a03f
add esp, 0xc
cmp word [esi + 0xa], 0x2d
jae 0x741444
mov eax, 0x2d
mov word [esi + 0xa], ax
lea ecx, [esp + 0x38]
mov dword [esp + 0x58], 0xffffffff
call fcn.0073894f
mov ebx, 0xffff
movzx eax, byte [esi + 0x96]
cmp eax, 1
je 0x741470
cmp eax, 2
je 0x741470
cmp eax, 3
jne 0x7414c7
push 1
lea ecx, [esp + 0x64]
push ecx
push 0x9901
lea ecx, [esi + 0x60]
call fcn.00740cff
mov edi, eax
push 0
push 7
mov ecx, edi
call fcn.007387ff
mov eax, dword [edi + 4]
xor edx, edx
cmp byte [esi + 0x97], dl
mov ecx, 0x4541
setne dl
mov word [eax + 2], cx
mov dword [esp + 0x60], 0x63
inc edx
mov word [eax], dx
mov dl, byte [esi + 0x96]
mov byte [eax + 4], dl
movzx ecx, word [esi + 0xe]
mov word [eax + 5], cx
jmp 0x7414cf
movzx eax, word [esi + 0xe]
mov dword [esp + 0x60], eax
cmp dword [esi + 0xa8], 0
lea eax, [esi + 0xa4]
mov dword [esp + 0x18], eax
je 0x7414e8
cmp dword [eax + 8], 0
ja 0x7414f0
push eax
mov ecx, esi
call fcn.0073f37f
cmp dword [esi + 0xb8], 0
lea eax, [esi + 0xb4]
je 0x741505
cmp dword [eax + 8], 0
ja 0x74150d
push eax
mov ecx, esi
call fcn.0073f21f
push 1
push 0
mov ecx, esi
call fcn.00740e0f
push 0
push 0
mov ecx, esi
call fcn.00740e0f
cmp dword [esi + 0xbc], ebx
jg 0x741544
cmp dword [esi + 0xac], ebx
jg 0x741544
lea ecx, [esi + 0x60]
call fcn.0073e3ff
cmp eax, ebx
setle al
test al, al
jne 0x741550
push 0
push 0xd3
call fcn.0072e76f
mov edi, dword [esi + 0xbc]
mov ebp, dword [esi + 0xac]
lea ecx, [esi + 0x60]
mov dword [esp + 0x14], edi
call fcn.0073e3ff
movzx ebx, ax
movzx eax, bx
movzx edx, bp
movzx ecx, di
mov dword [esp + 0x24], eax
add eax, edx
lea eax, [eax + ecx + 0x2e]
push 0
mov dword [esp + 0x24], ecx
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], eax
call fcn.0073891f
mov ecx, dword [0x1056019c]
mov edi, dword [esp + 0x48]
mov dword [edi], ecx
movsx dx, byte [esi + 0xc4]
movzx ax, byte [esi + 8]
mov cx, word [esp + 0x60]
shl dx, 8
or dx, ax
movzx eax, dx
mov word [edi + 4], ax
movzx eax, word [esi + 0xa]
mov word [edi + 6], ax
movzx eax, word [esi + 0xc]
mov word [edi + 8], ax
mov word [edi + 0xa], cx
movzx eax, word [esi + 0x10]
mov word [edi + 0xc], ax
movzx eax, word [esi + 0x12]
mov word [edi + 0xe], ax
cmp byte [esi + 0x97], 0
mov dword [esp + 0x58], 1
je 0x7415fb
xor eax, eax
jmp 0x7415fe
mov eax, dword [esi + 0x14]
cmp dword [esp + 0x34], 0
mov dword [edi + 0x10], eax
ja 0x741611
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
jbe 0x741614
or eax, 0xffffffff
mov dword [edi + 0x14], eax
cmp dword [esi + 0x24], 0
mov eax, dword [esi + 0x20]
ja 0x741625
cmp eax, 0xffffffff
jbe 0x741628
or eax, 0xffffffff
mov dx, word [esp + 0x14]
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], bp
mov word [edi + 0x1e], bx
mov word [edi + 0x20], dx
mov eax, dword [esi + 0x28]
cmp eax, 0xffff
jbe 0x74164d
mov eax, 0xffff
jmp 0x741650
movzx eax, ax
mov word [edi + 0x22], ax
movzx eax, word [esi + 0x2c]
mov word [edi + 0x24], ax
mov eax, dword [esi + 0x90]
mov dword [edi + 0x26], eax
cmp dword [esi + 0x44], 0
mov eax, dword [esi + 0x40]
ja 0x741673
cmp eax, 0xffffffff
jbe 0x741676
or eax, 0xffffffff
mov ebp, dword [esp + 0x1c]
mov dword [edi + 0x2a], eax
mov eax, dword [esi + 0xa8]
push ebp
push eax
lea eax, [edi + 0x2e]
push eax
call fcn.0077a03f
add esp, 0xc
test bx, bx
je 0x7416a3
lea ecx, [edi + ebp + 0x2e]
push ecx
lea ecx, [esi + 0x60]
call fcn.0073e3af
cmp word [esp + 0x14], 0
je 0x7416ca
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0xb8]
push edx
push eax
mov eax, dword [esp + 0x2c]
add eax, ebp
lea ecx, [eax + edi + 0x2e]
push ecx
call fcn.0077a03f
add esp, 0xc
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
push 1
push ebx
push edi
call fcn.00745e2f
lea ecx, [esi + 0x60]
call fcn.0073e44f
test byte [esi + 0xa0], 1
mov ecx, dword [esp + 0x18]
je 0x7416f7
call fcn.007387cf
jmp 0x7416fc
call fcn.0073989f
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], 0xffffffff
call fcn.0073894f
mov eax, ebx
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 4