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

Disassembly:
sub esp, 0xac
push ebx
push ebp
push esi
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push edi
mov ebx, ecx
push eax
mov dword [esp + 0x20], ebx
call fcn.004e77a0
mov esi, dword [esp + 0x3c]
add esp, 4
mov dword [esp + 0x5c], eax
lea eax, [ebx + 0x1c]
mov dword [esp + 0x60], eax
cmp esi, dword [eax + 8]
jle 0x447ca5
push esi
mov ecx, eax
call fcn.0044d3d0
mov esi, dword [esp + 0x38]
mov eax, dword [ebx + 0x2c]
lea edi, [ebx + 0x28]
sub eax, dword [edi + 0x2c]
mov ebp, 1
mov dword [esp + 0x58], edi
cmp esi, eax
jle 0x447d35
push esi
mov ecx, edi
call fcn.0044bbf0
cmp esi, 4
jb 0x447d1a
shr esi, 1
add esi, 8
bsr edi, esi
lea eax, [esi - 1]
mov esi, 0x20
setne bl
bsr ecx, eax
mov eax, 0x1f
setne dl
sub eax, ecx
test dl, dl
mov ecx, esi
cmovne ecx, eax
mov eax, 0x1f
sub esi, ecx
sub eax, edi
mov edi, dword [esp + 0x58]
mov ecx, 0xfc000000
shl eax, 0x1a
test bl, bl
mov ebx, dword [esp + 0x1c]
cmovne ecx, eax
mov eax, ebp
sar ecx, 0x1f
not ecx
and ecx, esi
shl eax, cl
jmp 0x447d1c
mov eax, ebp
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x447d27
cmp ecx, eax
jge 0x447d31
mov ecx, edi
mov dword [edi + 0x38], eax
call fcn.0044ab50
mov esi, dword [esp + 0x38]
mov ecx, dword [ebx + 0x68]
mov eax, esi
sub ecx, dword [ebx + 0x90]
cdq
sub eax, edx
lea edx, [ebx + 0x64]
mov edi, eax
mov dword [esp + 0x64], edx
sar edi, 1
cmp edi, ecx
jle 0x447dc9
push edi
mov ecx, edx
call fcn.0044bd30
cmp edi, 4
jb 0x447da9
shr edi, 1
add edi, 8
bsr esi, edi
lea eax, [edi - 1]
mov edi, 0x20
setne bl
bsr ecx, eax
mov eax, 0x1f
setne dl
sub eax, ecx
test dl, dl
mov ecx, edi
cmovne ecx, eax
mov eax, 0x1f
sub edi, ecx
sub eax, esi
shl eax, 0x1a
mov ecx, 0xfc000000
test bl, bl
mov ebx, dword [esp + 0x1c]
cmovne ecx, eax
sar ecx, 0x1f
not ecx
and ecx, edi
shl ebp, cl
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x447db7
cmp eax, ebp
jge 0x447dc5
lea ecx, [ebx + 0x64]
mov dword [ebx + 0x9c], ebp
call fcn.0044ae90
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x54], 0
test esi, esi
jle 0x44825a
mov edi, dword [esp + 0x5c]
add edi, 0x10
xor edx, edx
mov dword [esp + 0x20], 0
xor ebp, ebp
mov dword [esp + 0x24], edx
lea eax, [edi - 0xc]
mov dword [esp + 0x28], ebp
test eax, eax
je 0x447e58
cmp byte [edi - 0xc], dl
lea ebx, [edi - 0xc]
je 0x447e58
mov ecx, ebx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x447e10
sub ecx, esi
lea esi, [ecx + 1]
test esi, esi
jle 0x447e32
push esi
lea ecx, [esp + 0x24]
call fcn.0040ce40
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
lea eax, [esi + edx]
mov dword [esp + 0x24], eax
cmp eax, ebp
jle 0x447e47
push edx
lea ecx, [esp + 0x24]
call fcn.0040cde0
push 0x3f
push esi
push ebx
push esi
push dword [esp + 0x30]
call fcn.0040da10
add esp, 0x14
xor esi, esi
mov dword [esp + 0x10], 0
xor edx, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
test edi, edi
je 0x447ece
cmp byte [edi], dl
je 0x447ece
mov ecx, edi
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x447e80
sub ecx, ebx
lea ebx, [ecx + 1]
test ebx, ebx
jle 0x447ea2
push ebx
lea ecx, [esp + 0x14]
call fcn.0040ce40
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, esi
lea esi, [ebx + eax]
mov dword [esp + 0x14], esi
cmp esi, edx
jle 0x447ebd
push eax
lea ecx, [esp + 0x14]
call fcn.0040cde0
mov esi, dword [esp + 0x14]
push 0x3f
push ebx
push edi
push ebx
push dword [esp + 0x20]
call fcn.0040da10
add esp, 0x14
xor edx, edx
mov dword [esp + 0x2c], 0
lea ebp, [edi + 6]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], edx
test ebp, ebp
je 0x447f3d
cmp byte [ebp], dl
je 0x447f3d
mov ecx, ebp
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x447ef5
sub ecx, ebx
lea ebx, [ecx + 1]
test ebx, ebx
jle 0x447f13
push ebx
lea ecx, [esp + 0x30]
call fcn.0040ce40
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
lea eax, [ebx + ecx]
mov dword [esp + 0x30], eax
cmp eax, edx
jle 0x447f2c
push ecx
lea ecx, [esp + 0x30]
call fcn.0040cde0
push 0x3f
push ebx
push ebp
push ebx
push dword [esp + 0x3c]
call fcn.0040da10
add esp, 0x14
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0
push eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x7c], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x84], 0
push eax
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
call fcn.00437410
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x447faf
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x447fa9
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x18]
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x447fd2
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x447fcc
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x18]
cmp dword [esp + 0x30], 1
jle 0x44809a
lea eax, [esp + 0x2c]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x58], 0
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0x8c], 0
push eax
lea eax, [esp + 0x90]
mov dword [esp + 0x94], 0
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x9c], 0
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.0043b700
add esp, 0x10
lea ecx, [esp + 0x28]
push eax
call fcn.00437410
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x448077
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448071
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x18]
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x44809a
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448094
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push ebx
call dword [eax + 0x18]
cmp esi, 1
jle 0x4481cc
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x4c], 0
push eax
lea eax, [esp + 0x98]
mov dword [esp + 0x98], 0
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0xa0], 0
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0xa8], 0
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.0043b700
add esp, 0x10
lea ecx, [esp + 0x28]
push eax
call fcn.00437410
mov esi, dword [esp + 0xa4]
test esi, esi
je 0x44813d
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448137
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x448160
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x44815a
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
cmp dword [esp + 0x14], 1
jle 0x4481cc
cmp dword [esp + 0x30], 1
jle 0x4481cc
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc8]
push eax
call fcn.0043b700
add esp, 0x10
lea ecx, [esp + 0x28]
push eax
call fcn.00437410
mov esi, dword [esp + 0xb0]
test esi, esi
je 0x4481cc
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4481c6
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4481f5
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4481ec
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
push esi
jmp 0x4481f0
push dword [esp + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, dword [esp + 0x10]
test esi, esi
je 0x44821e
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448215
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
push esi
jmp 0x448219
push dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x448241
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x44823b
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov ecx, dword [esp + 0x54]
add edi, 0xcc
inc ecx
mov dword [esp + 0x54], ecx
cmp ecx, dword [esp + 0x38]
jl 0x447de4
call fcn.004dd7c0
mov ebp, eax
mov esi, dword [ebp]
test esi, esi
je 0x4483a8
nop dword [eax]
cmp byte [esi + 2], 0
jne 0x44839a
xor edx, edx
mov dword [esp + 0x10], 0
xor ebx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
cmp byte [esi], dl
je 0x4482df
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448297
sub ecx, edi
lea edi, [ecx + 1]
test edi, edi
jle 0x4482b9
push edi
lea ecx, [esp + 0x14]
call fcn.0040ce40
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
lea eax, [edx + edi]
mov dword [esp + 0x14], eax
cmp eax, ebx
jle 0x4482ce
push edx
lea ecx, [esp + 0x14]
call fcn.0040cde0
push 0x3f
push edi
push esi
push edi
push dword [esp + 0x20]
call fcn.0040da10
add esp, 0x14
lea ecx, [esp + 0x10]
call fcn.004137f0
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x50], 0
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x58], 0
push eax
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.00437410
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x448354
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x44834e
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x48]
test esi, esi
je 0x448377
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448371
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x10]
test esi, esi
je 0x44839a
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448394
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [ebp + 4]
add ebp, 4
test esi, esi
jne 0x448270
push 9
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.0040ce40
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 9]
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x28]
jle 0x4483e6
push ecx
lea ecx, [esp + 0x24]
call fcn.0040cde0
push 0x12
push str.US_POSIX
push dword [esp + 0x28]
call fcn.004263f0
add esp, 0xc
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
push 3
call fcn.0040ce40
mov ecx, dword [esp + 0x30]
lea eax, [ecx + 3]
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x34]
jle 0x448437
push ecx
lea ecx, [esp + 0x30]
call fcn.0040cde0
push 6
push 0x61bc48
push dword [esp + 0x34]
call fcn.004263f0
add esp, 0xc
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
push 0xc
call fcn.0040ce40
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 0xc]
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jle 0x448488
push ecx
lea ecx, [esp + 0x14]
call fcn.0040cde0
push 0x18
push 0x621fc4
push dword [esp + 0x18]
call fcn.004263f0
add esp, 0xc
mov dword [esp + 0x3c], 0
lea eax, [esp + 0x20]
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00437410
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x4484f3
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x4484ed
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x10]
test esi, esi
je 0x448516
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448510
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x448539
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448533
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x44855c
mov ecx, dword [0x6f6568]
test ecx, ecx
jne 0x448556
call fcn.0043f9c0
mov ecx, dword [0x6f6568]
mov eax, dword [ecx]
push esi
call dword [eax + 0x18]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x44856e
push eax
call fcn.0044d3d0
mov esi, dword [esp + 0x58]
mov ecx, esi
call fcn.0044dbe0
mov eax, dword [esi + 4]
mov ecx, esi
sub eax, dword [esi + 0x2c]
push 1
push eax
call fcn.0043b2f0
mov esi, dword [esp + 0x64]
mov ecx, esi
call fcn.0044dc80
mov eax, dword [esi + 4]
mov ecx, esi
sub eax, dword [esi + 0x2c]
push 1
push eax
call fcn.0043b380
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret