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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x140]
cmp eax, dword [ecx + 8]
jbe 0x57596a
sub esp, 0x1c0
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.004733f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x574b5d
mov eax, 1
jmp 0x574b93
nop
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
lea edx, [0x5ce350]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 6
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
setge al
test al, al
je 0x574bad
call fcn.0057b450
call fcn.0057b710
mov eax, dword [esp]
mov ecx, dword [esp + 4]
jmp 0x574f87
lea edi, [esp + 0x68]
lea esi, [0x5cf2f2]
call fcn.00452718
mov dword [esp + 0x5f], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
movzx eax, byte [esp + 0x6a]
movzx ecx, byte [esp + 0x71]
add eax, ecx
movzx ecx, byte [esp + 0x73]
movzx edx, byte [esp + 0x69]
movzx ebx, byte [esp + 0x6f]
movzx ebp, byte [esp + 0x6c]
mov esi, ebx
movzx ebx, byte [esp + 0x75]
mov edi, ebx
movzx ebx, byte [esp + 0x76]
mov byte [esp + 0x2d], bl
movzx ebx, byte [esp + 0x72]
mov byte [esp + 0x2c], bl
movzx ebx, byte [esp + 0x70]
mov byte [esp + 0x2b], bl
movzx ebx, byte [esp + 0x6e]
mov byte [esp + 0x2a], bl
movzx ebx, byte [esp + 0x77]
mov byte [esp + 0x29], bl
movzx ebx, byte [esp + 0x74]
mov byte [esp + 0x28], bl
movzx ebx, byte [esp + 0x68]
mov byte [esp + 0x27], bl
movzx ebx, byte [esp + 0x6d]
mov byte [esp + 0x26], bl
movzx ebx, byte [esp + 0x6b]
mov byte [esp + 0x5f], al
sub ecx, edx
mov byte [esp + 0x60], cl
lea eax, [ebp + esi]
mov byte [esp + 0x61], al
movzx eax, byte [esp + 0x2d]
add eax, edi
mov byte [esp + 0x62], al
movzx eax, byte [esp + 0x2c]
movzx ecx, byte [esp + 0x2b]
xor eax, ecx
mov byte [esp + 0x63], al
movzx eax, byte [esp + 0x2a]
movzx ecx, byte [esp + 0x29]
add eax, ecx
mov byte [esp + 0x64], al
movzx eax, byte [esp + 0x28]
movzx ecx, byte [esp + 0x27]
sub eax, ecx
mov byte [esp + 0x65], al
movzx eax, byte [esp + 0x26]
sub eax, ebx
mov byte [esp + 0x66], al
lea eax, [esp + 0x158]
mov dword [esp], eax
lea eax, [esp + 0x5f]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00441fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c4]
mov dword [esp], edx
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004733f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x574cfb
mov eax, 1
jmp 0x574d33
call fcn.0057bad0
nop
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1cc]
mov dword [esp], edx
mov ebx, dword [esp + 0x1d0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
setge al
test al, al
je 0x574d3e
mov eax, 1
jmp 0x574db4
call fcn.0057be40
nop
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1cc]
mov dword [esp], edx
mov ebx, dword [esp + 0x1d0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x574d7c
mov eax, 1
jmp 0x574db4
call fcn.0057bf50
nop
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1cc]
mov dword [esp], edx
mov ebx, dword [esp + 0x1d0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
setge al
test al, al
je 0x574dc9
call fcn.0057c1a0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
jmp 0x574f87
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c8]
mov dword [esp + 4], ecx
lea edx, [0x5ce1e0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
call fcn.004733f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x574e05
mov eax, 1
jmp 0x574e3a
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
lea edx, [0x5ce1e0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
setge al
test al, al
je 0x574e45
mov eax, 1
jmp 0x574eb6
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
lea edx, [0x5ce37a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 6
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x574e80
mov eax, 1
jmp 0x574eb6
nop
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
lea edx, [0x5ce3ec]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 6
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
setge al
test al, al
je 0x574ecb
call fcn.0057c5b0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
jmp 0x574f87
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 4], eax
lea eax, [0x5ce431]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call fcn.004733f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x574f07
mov eax, 1
jmp 0x574f3c
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
lea edx, [0x5ce431]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
setge al
test al, al
jne 0x574f75
nop
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
lea edx, [0x5ce3e6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 6
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x574f83
call fcn.0057c900
mov eax, dword [esp]
mov ecx, dword [esp + 4]
jmp 0x574f87
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x17c], eax
lea edi, [esp + 0x1ac]
xor eax, eax
call fcn.0045222b
lea ecx, [esp + 0x1ac]
mov dword [esp], ecx
mov byte [esp + 4], 4
call fcn.00470420
lea ecx, [esp + 0x1ac]
mov dword [esp], ecx
lea edx, [0x5cdfe8]
mov dword [esp + 4], edx
mov dword [esp + 8], 4
call fcn.00470200
mov dword [esp + 0x5b], 0
lea ecx, [esp + 0x1ac]
mov dword [esp], ecx
lea edx, [esp + 0x5b]
mov dword [esp + 4], edx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.00470130
mov ecx, dword [esp + 0x1cc]
mov dword [esp], ecx
mov edx, dword [esp + 0x1d0]
mov dword [esp + 4], edx
call fcn.00472a20
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [0x5ce5c7]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 7
call fcn.00473660
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x5750c9
nop
lea eax, [esp + 0x138]
mov dword [esp], eax
lea eax, [0x5cdf80]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.00442190
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x198], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00554530
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
cmp edx, ecx
jb 0x575964
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ebx, dword [esp + 0x198]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00470130
jmp 0x575144
nop
lea eax, [esp + 0x118]
mov dword [esp], eax
lea eax, [0x5cdf7c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.00442190
mov eax, dword [esp + 0xc]
mov dword [esp + 0x194], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00554530
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x57595f
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ebx, dword [esp + 0x194]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00470130
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
call fcn.00472a20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x5ce5ce]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x57524d
call fcn.0056ccd0
mov eax, dword [esp]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
inc eax
mov dword [esp], eax
call fcn.00408230
mov eax, dword [esp + 4]
lea ecx, [0x5b02a0]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
lea eax, [0x5cdddf]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0x1a4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0051e3b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x184], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
lea edx, [esp + 0x1ac]
mov dword [esp], edx
mov byte [esp + 4], cl
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ecx, dword [esp + 0x184]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
call fcn.00470200
jmp 0x5753a0
mov eax, dword [esp + 0x1cc]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 4], ecx
call fcn.00472a20
mov eax, dword [esp + 8]
mov dword [esp + 0x178], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], ecx
call fcn.0057cdb0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x178]
mov dword [esp], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00473660
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x57536b
call fcn.0056ccd0
mov eax, dword [esp]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
dec eax
mov dword [esp], eax
call fcn.00408230
mov eax, dword [esp + 4]
lea ecx, [0x5b02a0]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
lea eax, [0x5cdddf]
mov dword [esp], eax
mov dword [esp + 4], 2
lea eax, [esp + 0x1a4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0051e3b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x180], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [esp + 0x1ac]
mov dword [esp], edx
mov byte [esp + 4], cl
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
call fcn.00470200
jmp 0x5753a0
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 5
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
lea ecx, [0x5ce0d7]
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call fcn.00470200
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 8], ecx
lea edx, [0x5cddde]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x18], ebp
call fcn.00441dc0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x1ac]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00470420
lea eax, [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 8], eax
lea eax, [0x5cddde]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.00441dc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x1ac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00470200
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 6
call fcn.00470420
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 4], eax
call fcn.00472a20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp ecx, 3
jne 0x5754c9
cmp word [eax], 0x7250
jne 0x5754b7
cmp byte [eax + 2], 0x6f
je 0x5754d3
cmp ecx, 3
jmp 0x5754ba
cmp ecx, 3
jne 0x5754c9
cmp word [eax], 0x7270
jne 0x5754c9
cmp byte [eax + 2], 0x6f
je 0x5754d3
cmp ecx, 1
jne 0x5754ee
cmp byte [eax], 0x31
jne 0x5754e9
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 0x3d
call fcn.00470420
jmp 0x57555a
cmp ecx, 3
jmp 0x5754f1
cmp ecx, 3
jne 0x575526
cmp word [eax], 0x7453
jne 0x575505
cmp byte [eax + 2], 0x64
je 0x575530
cmp ecx, 3
jmp 0x575508
cmp ecx, 3
jne 0x575521
cmp word [eax], 0x7473
jne 0x57551c
cmp byte [eax + 2], 0x64
je 0x575530
cmp ecx, 1
jmp 0x575529
cmp ecx, 1
jmp 0x575529
cmp ecx, 1
jmp 0x575529
cmp ecx, 1
jne 0x575546
cmp byte [eax], 0x32
jne 0x575546
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 0x1c
call fcn.00470420
jmp 0x57555a
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 0x35
call fcn.00470420
call fcn.0057d010
nop
mov eax, dword [esp]
mov ecx, dword [esp + 4]
lea edx, [esp + 0xb8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00442190
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x190], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00554530
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
ja 0x57595a
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ebx, dword [esp + 0x190]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00470130
call fcn.0057d270
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0x10], ecx
lea edx, [0x5cdff8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 4
call fcn.00441dc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408340
mov eax, dword [esp + 8]
lea ecx, [0x5b08e0]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], eax
mov eax, dword [0x6b0438]
lea ecx, [0x5f9b8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x19c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0051e520
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d8]
mov byte [esp + 4], cl
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 8], ecx
call fcn.00470200
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
lea ecx, [0x5f8b08]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
call fcn.00470200
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 2
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
lea ecx, [0x5cddf1]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00470200
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov byte [esp + 4], 2
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
lea ecx, [0x5cdded]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00470200
mov eax, dword [esp + 0x1d0]
cmp eax, 0xff
jl 0x57584a
lea ecx, [esp + 0x98]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00442190
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
cmp edx, 0xff
jb 0x575950
mov word [esp + 0x2e], 0
mov word [esp + 0x2e], 0xa0d
mov dword [esp], eax
mov dword [esp + 4], 0xff
mov dword [esp + 8], edx
lea eax, [esp + 0x2e]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.00471270
mov eax, dword [esp + 0x18]
mov dword [esp + 0x188], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x44], edx
lea ebx, [esp + 0x1ac]
mov dword [esp], ebx
mov byte [esp + 4], cl
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ecx, dword [esp + 0x188]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
call fcn.00470130
jmp 0x575882
lea ecx, [esp + 0x1ac]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00470420
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 8], ecx
call fcn.00470200
call fcn.0057d8e0
nop
mov eax, dword [esp]
mov ecx, dword [esp + 4]
lea edx, [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00442190
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18c], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00554530
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
cmp edx, ecx
jb 0x57594b
lea eax, [esp + 0x1ac]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00470130
nop
mov ecx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1b4]
mov ebx, dword [esp + 0x1b8]
cmp ebx, ecx
ja 0x575944
sub edx, ebx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, ebx
add eax, edx
mov dword [esp + 0x1ec], eax
sub ecx, ebx
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1f4], ebp
add esp, 0x1c0
ret
mov eax, ebx
call fcn.00452100
call fcn.004520e0
mov ecx, 0xff
call fcn.004520e0
call fcn.004520e0
call fcn.004520e0
call fcn.004520e0
nop
call fcn.00450c10
jmp fcn.00574b00