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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x94]
cmp eax, dword [ecx + 8]
jbe 0x477cb3
sub esp, 0x114
mov ebx, dword [esp + 0x118]
mov ebp, dword [ebx + 0x10]
mov dword [ebx + 0xc], 0
xor ebx, ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
xor ebx, ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp], 0x716740
mov ebx, dword [esp + 0x120]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 8], ebx
lea ebx, [esp + 0xb8]
mov dword [esp + 0xc], ebx
call fcn.00418590
mov esi, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
movzx ebx, byte [esp + 0x10]
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x68], edi
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x6c], ebp
cmp bl, 0
je 0x476b33
mov eax, 0x8c6e40
mov dword [esp + 0x90], eax
mov dword [esp + 4], eax
mov dword [esp + 0x94], esi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp], ebp
mov ebx, dword [edi + 0x14]
call ebx
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp eax, 0
je 0x476b2c
mov ebx, dword [0x8e4148]
cmp eax, ebx
jne 0x476b07
mov dword [esp + 0x88], eax
mov dword [esp], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 4], esi
mov ebp, dword [0x8e4148]
mov dword [esp + 8], ebp
mov ebp, dword [0x8e414c]
mov dword [esp + 0xc], ebp
call fcn.0040e270
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x476b07
mov eax, dword [0x8e4170]
mov esi, dword [0x8e4174]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 0x88], eax
mov dword [esp + 4], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 8], esi
call fcn.00473b10
add esp, 0x114
ret
mov edi, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x9c], ecx
xor ebx, ebx
cmp edi, ebx
jne 0x4773c5
mov dword [esp + 0x98], edi
mov dword [esp + 0x70], edi
mov dword [esp], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 4], ecx
call fcn.005eaeb0
mov ebx, dword [esp + 8]
mov dword [esp + 0xd8], ebx
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xd8]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xf0], ebp
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xf4], edi
mov dword [esp + 0xc4], edi
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xc8], ebx
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x476c69
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
mov dword [esp], eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [ecx + 0x84]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x7628a3
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x14
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x10], eax
call fcn.0044d580
lea ebx, [esp + 0x14]
lea edi, [esp + 4]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00473b80
add esp, 0x114
ret
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.005e6df0
mov edi, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd0], edx
mov dword [esp + 0xec], eax
mov dword [esp + 0xd4], eax
mov ecx, eax
and eax, 0x1f
cmp eax, 9
ja 0x476f3d
cmp eax, 4
ja 0x476e77
cmp eax, 2
ja 0x476e60
cmp eax, 1
jne 0x476d25
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00474c10
movzx ebx, byte [esp + 8]
mov eax, ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov byte [esp + 0xc], al
call fcn.005e9230
add esp, 0x114
ret
cmp eax, 2
jne 0x476db8
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
mov dword [esp], eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [ecx + 0x1c]
call ebx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004752e0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.005e95d0
jmp 0x476d1e
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov dword [esp], eax
mov dword [esp + 0xa0], ecx
mov ebx, dword [ecx + 0x84]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x760964
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x11
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x10], eax
call fcn.0044d580
lea ebx, [esp + 0x14]
lea edi, [esp + 4]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00473b80
jmp 0x476d1e
cmp eax, 3
je 0x476d2e
cmp eax, 4
je 0x476d2e
jmp 0x476db8
cmp eax, 6
ja 0x476e93
cmp eax, 5
je 0x476d2e
cmp eax, 6
je 0x476d2e
jmp 0x476db8
cmp eax, 7
jne 0x476f26
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
mov dword [esp], eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [ecx + 0x1c]
call ebx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.004755d0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.005e99e0
jmp 0x476d1e
cmp eax, 8
je 0x476e9c
cmp eax, 9
je 0x476e9c
jmp 0x476db8
cmp eax, 0xd
ja 0x47705b
cmp eax, 0xb
ja 0x476f62
cmp eax, 0xa
je 0x476e9c
cmp eax, 0xb
je 0x476e9c
jmp 0x476db8
cmp eax, 0xc
je 0x476e9c
cmp eax, 0xd
jne 0x476db8
mov dword [esp], esi
mov byte [esp + 4], 0
call fcn.004746d0
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00474a40
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.004758a0
mov ebx, dword [esp + 4]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov dword [esp], eax
mov dword [esp + 0xa0], ecx
mov ebx, dword [ecx + 0x1c]
call ebx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00475dd0
movsd xmm0, qword [esp + 0x10]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
movsd qword [esp + 0xc], xmm0
call fcn.005e9520
jmp 0x476d1e
cmp eax, 0xf
ja 0x477108
cmp eax, 0xe
je 0x476f74
cmp eax, 0xf
jne 0x476db8
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov dword [esp], eax
mov dword [esp + 0xa0], ecx
mov ebx, dword [ecx + 0x1c]
call ebx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00476030
movsd xmm2, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
movsd qword [esp + 0xc], xmm2
movsd qword [esp + 0x14], xmm1
call fcn.005e9460
jmp 0x476d1e
cmp eax, 0x10
je 0x477076
cmp eax, 0x17
jne 0x477368
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov dword [esp], eax
mov dword [esp + 0x78], ecx
mov ebx, dword [ecx + 0x2c]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp + 0xac], eax
mov dword [esp], eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [ecx + 0x54]
call ebx
mov ebx, dword [esp + 4]
cmp ebx, 8
je 0x477363
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 8], ebx
call fcn.005ea350
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov dword [esp], eax
mov dword [esp + 0xa0], ecx
mov ebx, dword [ecx + 0x84]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x760964
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x11
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x10], eax
call fcn.0044d580
lea ebx, [esp + 0x14]
lea edi, [esp + 4]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00473b80
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
call fcn.00476170
mov ebx, dword [esp + 8]
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call fcn.005eab30
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0xfc], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x104], eax
mov dword [esp + 0x14], eax
call fcn.005e9140
xor eax, eax
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jge 0x477357
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], eax
call fcn.005e76c0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xfc], edx
mov dword [esp], edx
mov dword [esp + 0x100], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x104], eax
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x84]
cmp ebx, ebp
jae 0x47735c
mov ebp, dword [esp + 0x80]
add ebp, ebx
movzx ebx, byte [ebp]
xor ecx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.005e99e0
mov eax, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jl 0x4772bf
jmp 0x476d1e
call fcn.00435970
ud2
jmp 0x477210
cmp eax, 0x18
jne 0x476db8
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00476170
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x10], eax
call fcn.005e9b20
jmp 0x476d1e
mov eax, dword [edi + 8]
cmp eax, 0x5fcadfef
ja 0x477827
cmp eax, 0x1ffee651
ja 0x477605
cmp eax, 0x10dbf978
ja 0x4774a8
cmp eax, 0xc66cd3
jne 0x477439
mov dword [esp + 0x98], edi
mov ebp, 0x6f34c0
cmp edi, ebp
jne 0x477499
mov dword [esp + 0x54], ecx
mov ebx, 1
cmp bl, 0
je 0x477439
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.004755d0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x54]
mov dword [ebx], ecx
jmp 0x476d1e
cmp eax, 0x10dbf978
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6f3440
cmp edi, ebp
jne 0x47748d
mov dword [esp + 0x48], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.004755d0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
mov dword [ebx], ecx
jmp 0x476d1e
mov dword [esp + 0x48], 0
xor eax, eax
jmp 0x47745d
mov dword [esp + 0x54], 0
xor ebx, ebx
jmp 0x47740d
cmp eax, 0x1e2f74f8
jne 0x4774fb
mov dword [esp + 0x98], edi
mov ebp, 0x6f3500
cmp edi, ebp
jne 0x4775f6
mov dword [esp + 0x64], ecx
mov ebx, 1
cmp bl, 0
je 0x4774fb
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x40
call fcn.004755d0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x64]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
jmp 0x476d1e
cmp eax, 0x1ffee651
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6eaec0
cmp edi, ebp
jne 0x4775e7
mov dword [esp + 0x28], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov ebx, 0x75b9d8
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 8
mov ebx, 0x75ac8f
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 7
call fcn.00474b10
movzx ebx, byte [esp + 0x18]
cmp bl, 0
je 0x4775e2
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov byte [esp + 4], 0
call fcn.004746d0
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00474a40
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.004758a0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 0xb0], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x20
call fcn.00475dd0
movsd xmm0, qword [esp + 0x10]
cvtsd2ss xmm0, xmm0
mov ebx, dword [esp + 0x28]
movss dword [ebx], xmm0
jmp 0x476d1e
jmp 0x476d1e
mov dword [esp + 0x28], 0
xor eax, eax
jmp 0x477523
mov dword [esp + 0x64], 0
xor ebx, ebx
jmp 0x4774cc
cmp eax, 0x2522ebe7
ja 0x4776da
cmp eax, 0x23a42bd7
jne 0x47766b
mov dword [esp + 0x98], edi
mov ebp, 0x6e90c0
cmp edi, ebp
jne 0x4776cb
mov dword [esp + 0x34], ecx
mov ebx, 1
cmp bl, 0
je 0x47766b
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], pe_nt_image_headers32
call fcn.00476030
movsd xmm2, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov ebx, dword [esp + 0x34]
movsd qword [ebx], xmm2
movsd qword [ebx + 8], xmm1
jmp 0x476d1e
cmp eax, 0x2522ebe7
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6eb780
cmp edi, ebp
jne 0x4776bf
mov dword [esp + 0x20], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.004752e0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov dword [ebx], ecx
jmp 0x476d1e
mov dword [esp + 0x20], 0
xor eax, eax
jmp 0x47768f
mov dword [esp + 0x34], 0
xor ebx, ebx
jmp 0x477634
cmp eax, 0x26b80717
jne 0x47772d
mov dword [esp + 0x98], edi
mov ebp, 0x6eb840
cmp edi, ebp
jne 0x477818
mov dword [esp + 0x44], ecx
mov ebx, 1
cmp bl, 0
je 0x47772d
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x40
call fcn.004752e0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
jmp 0x476d1e
cmp eax, 0x5a175aed
jne 0x4777a9
mov dword [esp + 0x98], edi
mov ebp, 0x6f0e80
cmp edi, ebp
jne 0x477809
mov dword [esp + 0x60], ecx
mov ebx, 1
cmp bl, 0
je 0x4777a9
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00476170
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x60]
cmp ebx, 0
je 0x4777a5
mov dword [esp + 0xb4], eax
mov dword [ebx + 4], eax
mov dword [esp + 0xb0], ecx
cmp byte [0x8f7eb8], 0
jne 0x477794
mov dword [ebx], ecx
jmp 0x476d1e
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0041b160
jmp 0x476d1e
mov dword [ebx], eax
jmp 0x477773
cmp eax, 0x5fcadfef
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6eb880
cmp edi, ebp
jne 0x4777fd
mov dword [esp + 0x38], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 8
call fcn.004752e0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x38]
mov byte [ebx], cl
jmp 0x476d1e
mov dword [esp + 0x38], 0
xor eax, eax
jmp 0x4777cd
mov dword [esp + 0x60], 0
xor ebx, ebx
jmp 0x477751
mov dword [esp + 0x44], 0
xor ebx, ebx
jmp 0x4776fe
cmp eax, 0x7ac16a11
ja 0x477a31
cmp eax, 0x6b581726
ja 0x477968
cmp eax, 0x69d08ea5
jne 0x4778f9
mov dword [esp + 0x98], edi
mov ebp, 0x6e8ec0
cmp edi, ebp
jne 0x477959
mov dword [esp + 0x5c], ecx
mov ebx, 1
cmp bl, 0
je 0x4778f9
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00476170
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 8], eax
call fcn.0044d970
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
cmp ebx, 0
je 0x4778f5
mov dword [esp + 0x10c], ecx
mov dword [ebx + 4], ecx
mov dword [esp + 0x110], eax
mov dword [ebx + 8], eax
mov dword [esp + 0x108], edx
cmp byte [0x8f7eb8], 0
jne 0x4778e4
mov dword [ebx], edx
jmp 0x476d1e
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0041b160
jmp 0x476d1e
mov dword [ebx], eax
jmp 0x4778b9
cmp eax, 0x6b581726
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6eb800
cmp edi, ebp
jne 0x47794d
mov dword [esp + 0x40], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.004752e0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x40]
mov dword [ebx], ecx
jmp 0x476d1e
mov dword [esp + 0x40], 0
xor eax, eax
jmp 0x47791d
mov dword [esp + 0x5c], 0
xor ebx, ebx
jmp 0x477865
cmp eax, 0x6e0df0d1
jne 0x4779af
mov dword [esp + 0x98], edi
mov ebp, 0x6e8fc0
cmp edi, ebp
jne 0x477a22
mov dword [esp + 0x2c], ecx
mov ebx, 1
cmp bl, 0
je 0x4779af
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00474c10
movzx ebx, byte [esp + 8]
mov eax, ebx
mov ebx, dword [esp + 0x2c]
mov byte [ebx], al
jmp 0x476d1e
cmp eax, 0x7ac16a11
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6e9100
cmp edi, ebp
jne 0x477a16
mov dword [esp + 0x30], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x40
call fcn.00476030
movsd xmm2, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov ebx, dword [esp + 0x30]
cvtsd2ss xmm0, xmm2
movss dword [ebx], xmm0
cvtsd2ss xmm0, xmm1
movss dword [ebx + 4], xmm0
jmp 0x476d1e
mov dword [esp + 0x30], 0
xor eax, eax
jmp 0x4779d3
mov dword [esp + 0x2c], 0
xor ebx, ebx
jmp 0x47798c
cmp eax, 0x9ad926a8
ja 0x477afb
cmp eax, 0x968bc55e
jne 0x477a8c
mov dword [esp + 0x98], edi
mov ebp, 0x6f3580
cmp edi, ebp
jne 0x477aec
mov dword [esp + 0x24], ecx
mov ebx, 1
cmp bl, 0
je 0x477a8c
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.004755d0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
mov dword [ebx], ecx
jmp 0x476d1e
cmp eax, 0x9ad926a8
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6f3540
cmp edi, ebp
jne 0x477ae0
mov dword [esp + 0x4c], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 8
call fcn.004755d0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov byte [ebx], cl
jmp 0x476d1e
mov dword [esp + 0x4c], 0
xor eax, eax
jmp 0x477ab0
mov dword [esp + 0x24], 0
xor ebx, ebx
jmp 0x477a60
cmp eax, 0xa066c615
jne 0x477b4c
mov dword [esp + 0x98], edi
mov ebp, 0x6eb7c0
cmp edi, ebp
jne 0x477ca4
mov dword [esp + 0x3c], ecx
mov ebx, 1
cmp bl, 0
je 0x477b4c
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x10
call fcn.004752e0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
mov word [ebx], cx
jmp 0x476d1e
cmp eax, 0xba56ad13
jne 0x477c34
mov dword [esp + 0x98], edi
mov ebp, 0x6eaf00
cmp edi, ebp
jne 0x477c95
mov dword [esp + 0x58], ecx
mov ebx, 1
cmp bl, 0
je 0x477c34
mov dword [esp], esi
mov dword [esp + 4], edx
mov ebx, 0x75b9d8
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 8
mov ebx, 0x75ac96
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 7
call fcn.00474b10
movzx ebx, byte [esp + 0x18]
cmp bl, 0
je 0x477c2f
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov byte [esp + 4], 0
call fcn.004746d0
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00474a40
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.004758a0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov dword [esp + 0xb0], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x40
call fcn.00475dd0
movsd xmm0, qword [esp + 0x10]
mov ebx, dword [esp + 0x58]
movsd qword [ebx], xmm0
jmp 0x476d1e
jmp 0x476d1e
cmp eax, 0xee92f42e
jne 0x476b52
mov dword [esp + 0x98], edi
mov ebp, 0x6f3480
cmp edi, ebp
jne 0x477c89
mov dword [esp + 0x50], ecx
mov eax, 1
cmp al, 0
je 0x476b52
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0x10
call fcn.004755d0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x50]
mov word [ebx], cx
jmp 0x476d1e
mov dword [esp + 0x50], 0
xor eax, eax
jmp 0x477c58
mov dword [esp + 0x58], 0
xor ebx, ebx
jmp 0x477b74
mov dword [esp + 0x3c], 0
xor ebx, ebx
jmp 0x477b1f
call fcn.004616d0
jmp fcn.004769c0