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

Disassembly:
sub esp, 0xa0
mov eax, dword [0x485628]
mov ecx, dword [0x48562c]
push ebx
mov dword [esp + 0xc], eax
mov eax, dword [0x5750a4]
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x20], ecx
mov dword [0x4a1d18], 0xbabebabe
je 0x44756d
push 1
push 0x37
call fcn.0044aea0
add esp, 8
push 0x18400
push 1
call fcn.00465ac0
mov ecx, 0x100
mov esi, 0x56f6e0
mov edi, eax
add esp, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x4000
mov esi, 0x557680
lea edi, [eax + 0x400]
mov dword [esp + 0x1c], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x2000
mov esi, 0x516b60
lea edi, [eax + 0x10400]
rep movsd dword es:[edi], dword [esi]
call fcn.0043d480
call fcn.00441200
push 0x56f6e0
call fcn.00438040
add esp, 4
call fcn.00437cf0
xor esi, esi
mov dword [0x57e728], ebx
push ebx
push ebx
push ebx
push esi
push 1
call fcn.00445dd0
add esp, 0x14
push ebx
push ebx
call fcn.0043eed0
mov edx, dword [0x4ea2dc]
mov eax, dword [0x4ea2e4]
add esi, edx
add esp, 8
and esi, 3
cmp eax, ebx
jg 0x4475bd
jl 0x447ba4
cmp eax, ebx
je 0x447587
cmp esi, ebx
jne 0x447841
push 0x180
xor esi, esi
xor edi, edi
mov dword [esp + 0x14], ebx
call fcn.004654e0
add esp, 4
mov dword [esp + 0x14], eax
push 0x180
push 0x549cc0
push eax
call dword [0x48739c]
add esp, 0xc
mov ebp, dword [esp + 0x10]
push ebp
push ebx
push esi
push edi
push 2
call fcn.00445dd0
add esp, 0x14
test ebp, ebp
je 0x4476db
call fcn.0045d080
call fcn.0045c660
and eax, 0xffff
test ah, 0x80
je 0x447622
xor eax, eax
cmp eax, 0x1b
jne 0x447639
mov dword [esp + 0x10], 0
mov edi, 1
jmp 0x4477fd
cmp ebx, 2
jge 0x447649
test eax, eax
je 0x4477fd
push eax
jmp 0x4476b1
lea eax, [esp + 0x24]
lea ecx, [ebx - 2]
push eax
push ecx
xor ebp, ebp
call fcn.004610d0
mov eax, dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x4476a2
mov eax, dword [esp + 0x24]
cmp eax, 0xffffc180
jge 0x447676
mov ebp, 0x401
jmp 0x447682
cmp eax, 0x3e80
jle 0x447682
mov ebp, 0x402
mov eax, dword [esp + 0x28]
cmp eax, 0xffffc180
jge 0x447694
mov ebp, 0x403
jmp 0x4476a8
cmp eax, 0x3e80
jle 0x4476a8
mov ebp, 0x404
jmp 0x4476a8
lea ebp, [eax + 0x800]
test ebp, ebp
je 0x4477fd
push ebp
push esi
push ebx
call fcn.00447290
add esp, 0xc
test eax, eax
je 0x4477fd
cmp esi, 7
mov dword [esp + 0x10], 0
jge 0x4476d1
inc esi
mov edi, 1
jmp 0x4477fd
push 1
push 0
call fcn.0043eed0
xor ecx, ecx
add esp, 8
cmp edi, ecx
jne 0x44773d
add esi, dword [0x4ea2e0]
cmp esi, 6
jl 0x4476ff
mov esi, 5
jmp 0x447705
cmp esi, ecx
jge 0x447705
xor esi, esi
mov eax, dword [0x4ea2dc]
mov ebx, esi
cmp eax, ecx
jge 0x447717
mov edi, 4
jmp 0x44771e
jle 0x447720
mov edi, 1
xor esi, esi
cmp dword [0x4ea2e4], ecx
jle 0x4477f1
inc esi
cmp esi, 5
jle 0x4477e5
xor esi, esi
jmp 0x4477e5
cmp edi, 3
jne 0x44777e
mov eax, dword [0x4ea2dc]
cmp eax, ecx
jge 0x447757
mov edi, 1
mov esi, 7
jmp 0x447760
jle 0x447760
mov edi, 4
xor esi, esi
mov eax, dword [0x4ea2e0]
cmp eax, ecx
jge 0x447775
mov edi, 1
mov esi, 7
jmp 0x4477eb
jle 0x4477eb
mov edi, 4
jmp 0x4477eb
mov eax, dword [0x4ea2dc]
cmp edi, 4
jne 0x4477b1
cmp eax, ecx
jge 0x447793
mov edi, 3
jmp 0x447797
jle 0x447799
xor edi, edi
xor esi, esi
mov eax, dword [0x4ea2e0]
cmp eax, ecx
jge 0x4477a9
mov edi, 3
jmp 0x4477eb
jle 0x4477eb
xor edi, edi
xor esi, esi
jmp 0x4477eb
cmp eax, ecx
je 0x4477cb
add esi, eax
jns 0x4477bf
xor edi, edi
mov esi, ebx
jmp 0x4477cb
cmp esi, 7
jle 0x4477cb
xor esi, esi
mov edi, 3
cmp dword [0x4ea2e4], ecx
jle 0x4477f1
cmp edi, 1
mov dword [esp + 0x10], 1
jne 0x4477e5
mov edi, 2
mov dword [0x4ea2e4], ecx
cmp dword [0x4ea2e4], ecx
jge 0x4477fd
mov dword [0x57e728], 1
mov eax, dword [0x4ea2e4]
test eax, eax
je 0x4475f2
cmp edi, 3
je 0x447813
test eax, eax
jge 0x44782b
mov edx, dword [esp + 0x14]
push 0x180
push edx
push 0x549cc0
call dword [0x48739c]
add esp, 0xc
mov eax, dword [esp + 0x14]
push eax
call fcn.004654f0
add esp, 4
xor esi, esi
xor ebx, ebx
jmp 0x447581
cmp esi, 1
jne 0x4479f2
xor ebx, ebx
xor ebp, ebp
call fcn.00445c40
mov esi, eax
call fcn.00445c40
cmp ebp, 1
je 0x447861
mov esi, eax
push ebp
push esi
push ebx
push 0
push 3
call fcn.00445dd0
add esp, 0x14
push 1
push 0
call fcn.0043eed0
mov eax, dword [0x4ea2dc]
add esp, 8
cmp ebp, 1
jne 0x44798f
mov ecx, dword [0x4a1d1c]
test eax, eax
je 0x4478b8
test eax, eax
jle 0x44789d
add esi, 2
jmp 0x4478a0
sub esi, 2
test esi, esi
jge 0x4478b0
and esi, 1
mov edx, ecx
sub edx, esi
dec edx
mov esi, edx
jmp 0x4478b8
cmp esi, ecx
jl 0x4478b8
dec esi
and esi, 1
mov eax, dword [0x4ea2e0]
test eax, eax
je 0x4478d0
add esi, eax
jns 0x4478ca
lea esi, [ecx - 1]
jmp 0x4478d0
cmp esi, ecx
jl 0x4478d0
xor esi, esi
mov eax, dword [0x4ea2e4]
test eax, eax
jge 0x4478e0
xor ebp, ebp
jmp 0x4479de
jle 0x4479de
push 0x3c
lea eax, [esp + 0x78]
push 0x4a4170
push eax
mov dword [0x4ea2e4], 0
call dword [0x48739c]
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x44]
add esp, 0xc
rep stosd dword es:[edi], eax
lea eax, [esi + esi*2]
mov byte [esp + 0x59], 1
lea eax, [eax + eax*4]
shl eax, 2
mov ecx, dword [eax + 0x4a0dcc]
mov edx, dword [eax + 0x4a0dd0]
mov dword [esp + 0x3c], ecx
mov cl, byte [eax + 0x4a0dd4]
mov dword [esp + 0x40], edx
mov dl, byte [eax + 0x4a0de8]
lea eax, [esp + 0x38]
mov byte [esp + 0x44], cl
push eax
mov byte [esp + 0x5c], dl
call fcn.004395e0
add esp, 4
test eax, eax
je 0x447971
call fcn.004390a0
call fcn.004349c0
mov eax, dword [0x4ea2e4]
xor ebp, ebp
mov ebx, 1
jmp 0x4479de
lea ecx, [esp + 0x74]
push ecx
call fcn.004394f0
add esp, 4
call fcn.004390a0
call fcn.004349c0
mov eax, dword [0x4ea2e4]
jmp 0x4479de
test eax, eax
je 0x4479a5
add ebx, eax
jns 0x44799e
mov ebx, 1
jmp 0x4479a5
cmp ebx, 1
jle 0x4479a5
xor ebx, ebx
mov eax, dword [0x4ea2e0]
test eax, eax
je 0x4479b7
test ebx, ebx
jne 0x4479b7
mov ebp, 1
mov eax, dword [0x4ea2e4]
test eax, eax
jge 0x4479cc
mov dword [0x57e728], 1
jmp 0x4479de
jle 0x4479de
test ebx, ebx
jne 0x4479de
xor eax, eax
mov ebp, 1
mov dword [0x4ea2e4], eax
test eax, eax
je 0x447855
mov esi, 1
xor ebx, ebx
jmp 0x447581
cmp esi, 2
jne 0x447bae
xor esi, esi
push ebx
push ebx
push esi
push ebx
push 4
call fcn.00445dd0
add esp, 0x14
push 1
push ebx
call fcn.0043eed0
mov ecx, dword [0x4ea2dc]
add esp, 8
add esi, ecx
cmp esi, 3
jle 0x447a27
xor esi, esi
jmp 0x447a30
cmp esi, ebx
jge 0x447a30
mov esi, 3
mov eax, dword [0x4ea2e0]
cmp eax, ebx
je 0x447adb
mov ecx, esi
sub ecx, ebx
je 0x447a91
dec ecx
jne 0x447adb
mov edi, dword [0x4ea2ec]
mov edx, eax
add edx, edi
lea eax, [edx + eax*4]
cmp eax, ebx
mov dword [0x4ea2ec], eax
jge 0x447a64
xor eax, eax
jmp 0x447a6e
cmp eax, 0x64
jle 0x447a73
mov eax, 0x64
mov dword [0x4ea2ec], eax
shl eax, 7
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x4873e0], edx
jmp 0x447ad6
mov edx, dword [0x57e730]
mov ecx, eax
add ecx, edx
lea eax, [ecx + eax*4]
cmp eax, ebx
mov dword [0x57e730], eax
jge 0x447aab
xor eax, eax
jmp 0x447ab5
cmp eax, 0x64
jle 0x447aba
mov eax, 0x64
mov dword [0x57e730], eax
shl eax, 7
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x4873dc], edx
call fcn.00466080
mov eax, dword [0x4ea2e4]
cmp eax, ebx
jle 0x447b94
mov ecx, esi
sub ecx, ebx
je 0x447b45
dec ecx
je 0x447b02
dec ecx
jne 0x447b92
call fcn.00447370
jmp 0x447b8b
mov eax, dword [0x4ea2ec]
cmp eax, 0x64
jne 0x447b10
xor eax, eax
jmp 0x447b22
add eax, 0xa
cmp eax, 0x64
mov dword [0x4ea2ec], eax
jle 0x447b27
mov eax, 0x64
mov dword [0x4ea2ec], eax
shl eax, 7
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [0x4873e0], edx
jmp 0x447b86
mov eax, dword [0x57e730]
cmp eax, 0x64
jne 0x447b53
xor eax, eax
jmp 0x447b65
add eax, 0xa
cmp eax, 0x64
mov dword [0x57e730], eax
jle 0x447b6a
mov eax, 0x64
mov dword [0x57e730], eax
shl eax, 7
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x4873dc], edx
call fcn.00466080
xor eax, eax
mov dword [0x4ea2e4], eax
cmp eax, ebx
je 0x4479fd
mov esi, 2
jmp 0x447581
mov dword [0x57e728], 1
call fcn.0042b040
mov eax, dword [0x5750a4]
mov dword [0x57e728], ebx
cmp eax, ebx
je 0x447c33
call fcn.0042e8c0
call fcn.0042e8c0
mov eax, dword [esp + 0x1c]
mov ecx, 0x100
mov esi, eax
mov edi, 0x56f6e0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x4000
lea esi, [eax + 0x400]
mov edi, 0x557680
push 1
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x2000
lea esi, [eax + 0x10400]
mov edi, 0x516b60
rep movsd dword es:[edi], dword [esi]
call fcn.00465a70
add esp, 4
call fcn.004349c0
push 0x574b9c
call fcn.0044abf0
add esp, 4
mov dword [0x520e80], 4
mov dword [0x574b28], ebx
call fcn.004390a0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [0x485cf8], 1
mov dword [0x485628], ecx
mov dword [0x48562c], edx
pop ebx
add esp, 0xa0
ret