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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x1c]
call fcn.10051910
mov dword [esp + 0x10], eax
test eax, eax
je 0x10044c9e
cmp byte [edi], 0
mov eax, 0x80000000
mov dword [esp + 0x1c], 2
mov byte [esp + 0xc], 0
mov byte [esp + 0xd], 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov esi, edi
je 0x10044889
lea ebx, [edi + 1]
movzx edi, byte [esi]
test edi, 0xffffff80
jne 0x100447de
push 2
push edi
call fcn.100911d6
add esp, 8
test eax, eax
je 0x100447de
and edi, 0xffffffdf
mov eax, edi
movsx eax, al
add eax, 0xffffffbc
cmp eax, 0x15
ja 0x10044877
movzx ecx, byte [eax + 0xce4104]
jmp dword [ecx*4 + 0xce40e8]
inc esi
inc ebx
cmp byte [esi], 0
jne 0x100447c1
cmp byte [esp + 0xc], 0
jne 0x100448a7
mov edx, dword [esp + 0x10]
mov esi, dword [ebp + 0x18]
push edx
call fcn.10082aa0
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
jne 0x100449f3
mov edi, dword [ebp + 0x18]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov al, byte [edi]
cmp al, 0x20
je 0x100448de
cmp al, 9
jne 0x100448e1
inc edi
jmp 0x100448d4
movzx esi, byte [edi]
test esi, 0xffffff80
jne 0x100448fe
push 2
push esi
call fcn.100911d6
add esp, 8
test eax, eax
je 0x100448fe
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x58
jne 0x10044c9e
cmp byte [edi + 1], 0
lea esi, [edi + 1]
je 0x10044c9e
mov eax, esi
call fcn.1000b6a0
test al, al
je 0x1004492f
push 0x10
push 0
push esi
call fcn.100917d3
add esp, 0xc
jmp 0x10044938
push esi
call fcn.10091587
add esp, 4
mov dword [esp + 0x50], eax
mov edi, 0xd4f808
mov eax, esi
call fcn.100046f0
test eax, eax
je 0x10044c9e
lea esi, [eax + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x1004495d
cmp al, 9
jne 0x10044960
inc esi
jmp 0x10044953
mov al, byte [esi]
test al, al
je 0x10044c9e
movsx eax, al
push eax
call fcn.10094d5b
add esp, 4
cmp eax, 0x59
jne 0x10044c9e
inc esi
cmp byte [esi], 0
je 0x10044c9e
call fcn.1000b720
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x40]
push ecx
push edi
mov dword [esp + 0x5c], eax
call dword [0xd494f4]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add dword [esp + 0x50], edx
add dword [esp + 0x54], eax
lea ecx, [esp + 0x50]
push ecx
push 0xcea520
push edi
call dword [0xd4969c]
mov esi, dword [esp + 0x68]
test esi, esi
je 0x100449d1
mov dword [esp + 0x18], esi
jmp 0x100449d7
mov esi, edi
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x28]
push ecx
push esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
call dword [0xd49644]
cmp dword [ebp + 0x10], 1
jl 0x10044c7f
mov ecx, dword [esp + 0x28]
cmp ecx, 0x80000000
je 0x10044a14
mov eax, dword [esp + 0x2c]
cmp eax, 0x80000000
jne 0x10044a63
lea edx, [esp + 0x30]
push edx
push esi
call dword [0xd494f4]
test eax, eax
je 0x10044c9e
mov ecx, dword [esp + 0x28]
cmp ecx, 0x80000000
jne 0x10044a47
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x2c]
cmp eax, 0x80000000
jne 0x10044a63
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, ax
shl eax, 0x10
movzx ecx, cx
or eax, ecx
mov dword [esp + 0x20], eax
mov al, byte [ebp + 0xc]
cmp al, 0x9f
je 0x10044a81
cmp al, 0x9e
je 0x10044a81
xor dl, dl
jmp 0x10044a83
mov dl, 1
mov byte [esp + 0xc], dl
cmp al, 0x9c
je 0x10044a93
cmp al, 0x9d
je 0x10044a93
xor cl, cl
jmp 0x10044a95
mov cl, 1
mov byte [esp + 0xe], cl
test dl, dl
je 0x10044abf
xor ebx, ebx
cmp al, 0x9f
setne bl
mov edi, 0x20a
dec ebx
and ebx, 0xf0
add ebx, 0xffffff88
imul ebx, dword [ebp + 0x10]
shl ebx, 0x10
jmp 0x10044b4b
test cl, cl
je 0x10044ae2
xor ebx, ebx
cmp al, 0x9c
setne bl
mov edi, 0x20e
dec ebx
and ebx, 0xffffff10
add ebx, 0x78
imul ebx, dword [ebp + 0x10]
shl ebx, 0x10
jmp 0x10044b4b
movzx eax, al
dec eax
cmp eax, 5
ja 0x10044c9e
jmp dword [eax*4 + 0xce411c]
cmp byte [esp + 0xd], 0
mov byte [esp + 0xf], 0
je 0x10044ba7
mov edx, dword [esp + 0x10]
push 0
push edx
call dword [0xd4966c]
mov dword [esp + 0x24], eax
test eax, eax
je 0x10044b9c
cmp eax, dword [0xd60fe8]
je 0x10044b9c
mov esi, dword [esp + 0x10]
call fcn.10082f90
test al, al
jne 0x10044b9c
mov ecx, dword [esp + 0x24]
mov edx, dword [0xd60fe8]
push 1
push ecx
push edx
call dword [0xd49588]
test eax, eax
setne byte [esp + 0xf]
mov eax, dword [esp + 0x10]
push eax
call dword [0xd49694]
cmp byte [esp + 0xc], 0
jne 0x10044c3a
cmp byte [esp + 0xe], 0
jne 0x10044c3a
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x10044c65
mov esi, dword [0xd495c4]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x1c], 1
je 0x10044bff
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
push ebx
push edi
push edx
call esi
mov eax, dword [0xd5b4d8]
mov eax, dword [eax + 0x58]
cmp eax, 0xffffffff
jle 0x10044bff
push 1
push eax
call fcn.10001fb0
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x10044c32
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ecx
push 0
push edx
push eax
call esi
mov ecx, dword [0xd5b4d8]
mov eax, dword [ecx + 0x58]
cmp eax, 0xffffffff
jle 0x10044c32
push 1
push eax
call fcn.10001fb0
add esp, 8
dec dword [esp + 0x10]
jne 0x10044bd2
jmp 0x10044c65
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push edx
push ebx
push edi
push eax
call dword [0xd495c4]
mov ecx, dword [0xd5b4d8]
mov eax, dword [ecx + 0x58]
cmp eax, 0xffffffff
jle 0x10044c65
push 1
push eax
call fcn.10001fb0
add esp, 8
cmp byte [esp + 0xf], 0
je 0x10044c7f
mov edx, dword [esp + 0x24]
mov eax, dword [0xd60fe8]
push 0
push edx
push eax
call dword [0xd49588]
mov ecx, dword [0xd5f780]
push 1
push 0
push 0xffffffffffffffff
push 0xd4bfbc
call fcn.100811b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [0xd5b4d8]
cmp byte [ecx + 0xe0], 0
jne 0x10044cca
mov edx, dword [0xd5f780]
push edx
or eax, 0xffffffff
mov ecx, 0xd4c008
call fcn.10001df0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov edi, dword [ebp + 8]
push 0xd4bc99
push 0
push 0xd4c008
call fcn.1003ec60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18