Function at 0x479790
Capabilities:
Delete file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x318
mov eax, dword [0x4b3008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebx + 0xc]
lea eax, [ebp - 0x308]
push edi
push 0x7c1d48
push str._sError.dat
push eax
call fcn.00404440
mov edi, dword [ebx + 8]
lea eax, [ebp - 0x308]
add esp, 0xc
test edi, edi
jne 0x4797ed
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
jmp 0x47adeb
push 0x4a6b90
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
mov dword [ebp - 0x310], eax
test eax, eax
je 0x47adee
cmp edi, 0x12d
jg 0x479f23
je 0x479e4f
add edi, 0xfffffffc
cmp edi, 0xb2
ja case.0x47aceb.703
movzx eax, byte [edi + 0x47ae44]
jmp dword [eax*4 + 0x47ae04]
cmp dword [0x7c1d40], 1
mov ecx, str.12500001
mov eax, 0x4a7ee0
cmovne eax, ecx
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
mov eax, 0x4a7f34
mov ecx, str.12500002__d_
cmp dword [0x7c1d40], 1
push dword [esi + 0x1a4]
cmovne eax, ecx
push eax
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov ecx, str.12500003
mov eax, 0x4a7f84
cmovne eax, ecx
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
lea eax, [ebp - 0x208]
push 0x4a7fc4
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
mov eax, dword [esi + 0x154]
mov edx, dword [esi + 0x158]
add esi, 0x1a4
cmp eax, edx
je 0x4798ee
mov edi, dword [esi]
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x10], edi
je 0x4798f0
add eax, 4
cmp eax, edx
jne 0x4798e0
xor ecx, ecx
cmp dword [0x7c1d40], 1
mov eax, dword [ecx + 0x2450]
movsd xmm0, qword [eax + 0x118]
mov eax, 0x4a7ff0
mulsd xmm0, qword [0x4aeb28]
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
je 0x479929
mov eax, str.11380001___d__.3f__s
push 0x4b3940
sub esp, 8
movsd qword [esp], xmm0
push dword [esi]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 0x18
jmp case.0x47aceb.703
mov eax, dword [esi + 0x154]
mov edx, dword [esi + 0x158]
add esi, 0x1a4
cmp eax, edx
je 0x479973
mov edi, dword [esi]
mov ecx, dword [eax]
cmp dword [ecx + 0x10], edi
je 0x479975
add eax, 4
cmp eax, edx
jne 0x479965
xor ecx, ecx
cmp dword [0x7c1d40], 1
mov eax, dword [ecx + 0x2450]
movsd xmm0, qword [eax + 0x118]
mov eax, 0x4a8050
mulsd xmm0, qword [0x4aeb28]
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
je 0x4799ae
mov eax, str.11400002___d__.3f__s
push 0x4b3940
sub esp, 8
movsd qword [esp], xmm0
push dword [esi]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 0x18
jmp case.0x47aceb.703
lea eax, [ebp - 0x208]
push 0x4a80b8
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x479a11
mov esi, dword [esi + 0x1a4]
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x479a13
add eax, 4
cmp eax, edx
jne 0x479a00
xor ecx, ecx
cmp dword [0x7c1d40], 1
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x10]
mov eax, dword [edx + 0x2450]
movsd xmm0, qword [eax + 0x108]
mulsd xmm0, qword [0x4ae8b0]
mov eax, dword [ecx + 0x2450]
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
jne 0x479aa7
push 0x4b3954
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
lea eax, [ebp - 0x208]
mulsd xmm0, qword [0x4ae8b0]
push dword [edx + 0x10]
push 0x4b3954
mulsd xmm0, qword [0x4b3968]
sub esp, 8
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [ecx + 0x10]
push 0x4a8120
push eax
call fcn.00404440
add esp, 0x28
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
lea eax, [ebp - 0x208]
mulsd xmm0, qword [0x4ae8b0]
push dword [edx + 0x10]
push 0x4b3954
mulsd xmm0, qword [0x4b3968]
sub esp, 8
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [ecx + 0x10]
push str.11240003___d__.3f__s__d__.3f
push eax
call fcn.00404440
add esp, 0x24
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x479b21
mov esi, dword [esi + 0x1a4]
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x479b23
add eax, 4
cmp eax, edx
jne 0x479b10
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
cmp dword [0x7c1d40], 1
movsd xmm0, qword [eax + 0x6d00]
movsd xmm3, qword [0x4ae8b0]
mulsd xmm0, xmm3
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
jne 0x479bc4
push 0x4b3954
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x6d08]
add eax, 0x6c5c
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push eax
lea eax, [ebp - 0x208]
push 0x4a81c0
push eax
call fcn.00404440
add esp, 0x24
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x6d08]
mov eax, dword [eax + 0x14]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [eax + 0x10]
lea eax, [ebp - 0x208]
push str.11240004___d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
lea eax, [ebp - 0x208]
push 0x4a8278
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
lea eax, [ebp - 0x208]
push 0x4a82d8
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
mov eax, dword [esi + 0x154]
mov edx, dword [esi + 0x158]
cmp eax, edx
je 0x479c6e
mov esi, dword [esi + 0x1a4]
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x10], esi
je 0x479c70
add eax, 4
cmp eax, edx
jne 0x479c60
xor ecx, ecx
movsd xmm0, qword [ecx + 0x38]
movsd xmm3, qword [0x4ae8b0]
movsd xmm2, qword [0x4b3968]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
movsd xmm1, qword [0x7c1d18]
mov eax, dword [ecx + 0x2450]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
jne 0x479d10
push 0x4b3954
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ecx + 0x30]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push 0x4a8360
push eax
call fcn.00404440
add esp, 0x2c
jmp case.0x47aceb.703
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ecx + 0x30]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push str.11380005___d__.3f__s__.3f__.3f
push eax
call fcn.00404440
add esp, 0x28
jmp case.0x47aceb.703
mov eax, dword [esi + 0x154]
mov edx, dword [esi + 0x158]
cmp eax, edx
je 0x479d90
mov esi, dword [esi + 0x1a4]
mov ecx, dword [eax]
cmp dword [ecx + 0x10], esi
je 0x479d92
add eax, 4
cmp eax, edx
jne 0x479d82
xor ecx, ecx
movsd xmm0, qword [ecx + 0x38]
movsd xmm3, qword [0x4ae8b0]
movsd xmm2, qword [0x4b3968]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
movsd xmm1, qword [0x7c1d18]
mov eax, dword [ecx + 0x2450]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
je 0x479caf
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ecx + 0x30]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push str.11400006___d__.3f__s__.3f__.3f
push eax
call fcn.00404440
add esp, 0x28
jmp case.0x47aceb.703
mov eax, 0x4a8400
mov ecx, str.12380004___d
jmp 0x47986c
mov eax, 0x4a8480
mov ecx, str.12380005___d
jmp 0x47986c
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x479e71
mov esi, dword [esi + 0x1a4]
nop
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x479e73
add eax, 4
cmp eax, edx
jne 0x479e60
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov edi, eax
add esp, 0x14
test edi, edi
je case.0x47aceb.703
mov esi, dword [edi + 0x4858]
cmp esi, dword [edi + 0x485c]
je 0x479f18
mov ecx, dword [esi]
mov eax, dword [ecx + 0x49a0]
sub eax, dword [ecx + 0x499c]
test eax, 0xfffffffc
jne 0x479f0d
cmp dword [0x7c1d40], 1
mov eax, dword [ecx + 0x4818]
push eax
jne 0x479efa
push dword [ecx + 0x48d4]
lea eax, [ebp - 0x208]
push 0x4a8500
push eax
call fcn.00404440
lea eax, [ebp - 0x208]
push eax
push 0x4a8514
push dword [ebp - 0x310]
call fcn.00411e60
add esp, 0x1c
jmp 0x479f0d
push str.11240007__d_n
push dword [ebp - 0x310]
call fcn.00411e60
add esp, 0xc
add esi, 4
cmp esi, dword [edi + 0x485c]
jne 0x479ea2
push dword [ebp - 0x310]
jmp 0x47ade5
cmp edi, 0x168
jg 0x47a958
je 0x47a7d9
add edi, 0xfffffeca
cmp edi, 0x29
ja case.0x47aceb.703
movzx eax, byte [edi + 0x47af18]
jmp dword [eax*4 + 0x47aef8]
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x479f73
mov esi, dword [esi + 0x1a4]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x479f75
add eax, 4
cmp eax, edx
jne 0x479f62
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
mov ecx, dword [eax + 0x4858]
mov eax, dword [eax + 0x485c]
cmp ecx, eax
je case.0x47aceb.703
mov edx, dword [ecx]
cmp dword [edx + 0xc], 0
jne 0x479fbc
add ecx, 4
cmp ecx, eax
jne 0x479fa8
jmp case.0x47aceb.703
movsd xmm0, qword [edx + 0x6e50]
lea eax, [ebp - 0x208]
movsd xmm3, qword [0x4ae8b0]
add dword [0x7c1d08], 3
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
jne 0x47a04b
push 0x4b3954
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [edx + 0x6e58]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [edx + 0x4818]
push dword [edx + 0x48d4]
push 0x4a8528
push eax
call fcn.00404440
add esp, 0x28
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [edx + 0x6e58]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [edx + 0x4818]
push str.11240008__d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a0b6
mov esi, dword [esi + 0x1a4]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a0b8
add eax, 4
cmp eax, edx
jne 0x47a0a5
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
mov ecx, dword [eax + 0x4858]
mov eax, dword [eax + 0x485c]
cmp ecx, eax
je case.0x47aceb.703
nop dword [eax + eax]
mov edx, dword [ecx]
cmp dword [edx + 0xc], 0
jne 0x47a104
add ecx, 4
cmp ecx, eax
jne 0x47a0f0
jmp case.0x47aceb.703
movsd xmm0, qword [edx + 0x6e58]
subsd xmm0, qword [edx + 0x4860]
movsd xmm3, qword [0x4ae8b0]
mov eax, dword [edx + 0x14]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mov eax, dword [eax + 0x2450]
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
jne 0x47a198
push 0x4b3954
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
lea eax, [ebp - 0x208]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push 0x4a86e8
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
lea eax, [ebp - 0x208]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [edx + 0x4818]
push str.11240010__d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a211
mov esi, dword [esi + 0x1a4]
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a213
add eax, 4
cmp eax, edx
jne 0x47a200
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
mov ecx, dword [eax + 0x4858]
mov eax, dword [eax + 0x485c]
cmp ecx, eax
je case.0x47aceb.703
mov edx, dword [ecx]
cmp dword [edx + 0xc], 0
jne 0x47a25a
add ecx, 4
cmp ecx, eax
jne 0x47a246
jmp case.0x47aceb.703
movsd xmm0, qword [edx + 0x6e50]
subsd xmm0, qword [edx + 0x4860]
movsd xmm3, qword [0x4ae8b0]
mov eax, dword [edx + 0x14]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mov eax, dword [eax + 0x2450]
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
jne 0x47a2ee
push 0x4b3954
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
lea eax, [ebp - 0x208]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push 0x4a8778
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x108]
lea eax, [ebp - 0x208]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, qword [0x4b3968]
addsd xmm0, qword [0x7c1d18]
movsd qword [esp], xmm0
push dword [edx + 0x4818]
push str.11240011__d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a361
mov esi, dword [esi + 0x1a4]
nop
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a363
add eax, 4
cmp eax, edx
jne 0x47a350
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
movsd xmm0, qword [eax + 0x6d10]
movsd xmm3, qword [0x4aeb28]
mov eax, dword [eax + 0x10]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mov eax, dword [eax + 0x2450]
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
jne 0x47a40e
push 0x4b3940
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
lea eax, [ebp - 0x208]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push 0x4a8808
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push str.11240012___d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a481
mov esi, dword [esi + 0x1a4]
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a483
add eax, 4
cmp eax, edx
jne 0x47a470
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
movsd xmm0, qword [eax + 0x6d10]
movsd xmm3, qword [0x4aeb28]
mov eax, dword [eax + 0x14]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mov eax, dword [eax + 0x2450]
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
jne 0x47a535
push 0x4b3940
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
lea eax, [ebp - 0x208]
andps xmm0, xmmword [0x4afb90]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push 0x4a8898
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
andps xmm0, xmmword [0x4afb90]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push str.11240013___d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a5b1
mov esi, dword [esi + 0x1a4]
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a5b3
add eax, 4
cmp eax, edx
jne 0x47a5a0
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
movsd xmm0, qword [eax + 0x6d18]
movsd xmm3, qword [0x4aeb28]
mov eax, dword [eax + 0x10]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mov eax, dword [eax + 0x2450]
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
jne 0x47a65e
push 0x4b3940
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
lea eax, [ebp - 0x208]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push 0x4a8920
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push str.11240014___d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a6d1
mov esi, dword [esi + 0x1a4]
nop dword [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a6d3
add eax, 4
cmp eax, edx
jne 0x47a6c0
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je case.0x47aceb.703
movsd xmm0, qword [eax + 0x6d18]
movsd xmm3, qword [0x4aeb28]
mov eax, dword [eax + 0x14]
add dword [0x7c1d08], 2
cmp dword [0x7c1d40], 1
mulsd xmm0, xmm3
mov eax, dword [eax + 0x2450]
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
jne 0x47a785
push 0x4b3940
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
lea eax, [ebp - 0x208]
andps xmm0, xmmword [0x4afb90]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push 0x4a89a8
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x118]
andps xmm0, xmmword [0x4afb90]
mulsd xmm0, xmm3
push 0x4b3940
sub esp, 8
mulsd xmm0, qword [0x4b3970]
addsd xmm0, qword [0x7c1d20]
movsd qword [esp], xmm0
push dword [eax + 8]
lea eax, [ebp - 0x208]
push str.11240015___d__.3f__s__.3f
push eax
call fcn.00404440
add esp, 0x20
jmp case.0x47aceb.703
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a801
mov esi, dword [esi + 0x1a4]
nop dword [eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], esi
je 0x47a803
add eax, 4
cmp eax, edx
jne 0x47a7f0
xor ecx, ecx
push 0
push 0x4b3bcc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
test esi, esi
je case.0x47aceb.703
mov ecx, dword [esi + 0x4858]
mov edx, dword [esi + 0x485c]
cmp ecx, edx
je case.0x47aceb.703
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0
jne 0x47a84c
add ecx, 4
cmp ecx, edx
jne 0x47a838
jmp case.0x47aceb.703
movsd xmm0, qword [eax + 0x4830]
movsd xmm3, qword [0x4ae8b0]
movsd xmm2, qword [0x4b3968]
add dword [0x7c1d08], 5
cmp dword [0x7c1d40], 1
movsd xmm1, qword [0x7c1d18]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
jne 0x47a8f9
push 0x4b3954
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + 0x6e50]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [esi + 0x20]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push dword [eax + 0x4818]
push dword [eax + 0x48d4]
lea eax, [ebp - 0x208]
push 0x4a85e8
push eax
call fcn.00404440
add esp, 0x34
jmp case.0x47aceb.703
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax + 0x6e50]
mulsd xmm0, xmm3
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
movsd xmm0, qword [esi + 0x20]
mulsd xmm0, xmm3
push 0x4b3954
sub esp, 8
mulsd xmm0, xmm2
addsd xmm0, xmm1
movsd qword [esp], xmm0
push dword [eax + 0x4818]
lea eax, [ebp - 0x208]
push str.11240009__d__.3f__s__.3f__.3f
push eax
call fcn.00404440
add esp, 0x28
jmp case.0x47aceb.703
cmp edi, 0x2a7
jg 0x47acd2
je 0x47acc2
add edi, 0xfffffe62
cmp edi, 0xc7
ja case.0x47aceb.703
movzx eax, byte [edi + 0x47af78]
jmp dword [eax*4 + 0x47af44]
mov eax, dword [esi + 0x58]
mov edx, dword [esi + 0x5c]
cmp eax, edx
je 0x47a9b1
mov edi, dword [esi + 0x1a4]
nop word [eax + eax]
mov ecx, dword [eax]
cmp dword [ecx + 0x4818], edi
je 0x47a9b3
add eax, 4
cmp eax, edx
jne 0x47a9a0
xor ecx, ecx
push 0
push 0x4b3abc
push 0x4b3b30
push 0
push ecx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov ecx, dword [esi + 0xf4]
add esp, 0x14
mov edx, dword [esi + 0xf8]
mov dword [ebp - 0x30c], eax
cmp ecx, edx
je case.0x47aceb.703
mov esi, dword [eax + 0x4818]
mov dword [ebp - 0x318], esi
mov edi, dword [ecx]
mov esi, dword [edi + 0x4818]
mov dword [ebp - 0x314], esi
cmp dword [eax + 0x4818], esi
je 0x47aa42
mov eax, dword [eax + 0x10]
mov esi, dword [edi + 0x10]
mov eax, dword [eax + 0x10]
cmp eax, dword [esi + 0x10]
mov eax, dword [ebp - 0x30c]
jne 0x47aa42
mov eax, dword [eax + 0x14]
mov esi, dword [edi + 0x14]
mov eax, dword [eax + 0x10]
cmp eax, dword [esi + 0x10]
mov eax, dword [ebp - 0x30c]
jne 0x47aa42
mov eax, dword [eax + 0x49d8]
cmp eax, dword [edi + 0x49d8]
jne 0x47aa4e
mov eax, dword [ebp - 0x30c]
add ecx, 4
cmp ecx, edx
jne 0x47a9f0
jmp case.0x47aceb.703
push dword [ebp - 0x314]
lea eax, [ebp - 0x208]
push dword [ebp - 0x318]
push 0x4a8a30
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
cmp dword [0x7c1d40], 1
mov ecx, str.11240019
mov eax, 0x4a8d00
cmovne eax, ecx
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47aac8
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a8d48
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12460007__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47aaff
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a8db8
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12460008__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47ab36
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a8e48
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12480009__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47ab6d
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a8ec8
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12160010__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47aba4
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a8f58
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12460011__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47abdb
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a8fd0
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12480012__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47ac12
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a9048
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12160013__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47ac49
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a90d8
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12440014__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47ac80
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a9150
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12440015__d
jmp 0x47adba
cmp dword [0x7c1d40], 1
mov eax, dword [esi + 0x1a4]
jne 0x47acb7
push dword [ebx + 0x10]
push eax
lea eax, [ebp - 0x208]
push 0x4a91c0
push eax
call fcn.00404440
add esp, 0x10
jmp case.0x47aceb.703
push eax
push str.12440016__d
jmp 0x47adba
push dword [esi + 0x1a4]
push 0x4a9230
jmp 0x47adba
add edi, 0xfffffd42
cmp edi, 0xd2
ja case.0x47aceb.703
movzx eax, byte [edi + 0x47b068]
jmp dword [eax*4 + 0x47b040]
push dword [esi + 0x1a4]
add dword [0x7c1d08], 2
push 0x4a8a88
jmp 0x47adba
add dword [0x7c1d08], 2
lea eax, [ebp - 0x208]
push 0x4a8ac8
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
cmp dword [0x7c1d40], 1
mov ecx, str.13500001
mov eax, 0x4a8b24
cmovne eax, ecx
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
add dword [0x7c1d08], 2
mov eax, 0x4a8b58
mov ecx, str.11240016__d
jmp 0x47986c
cmp dword [0x7c1d40], 1
mov eax, 0x4a8bd8
push dword [ebx + 0x10]
mov ecx, str.10440002__d
cmovne eax, ecx
push eax
jmp 0x47adba
push dword [esi + 0x1a4]
push 0x4a8c1c
jmp 0x47adba
push dword [esi + 0x1a4]
push 0x4a8c50
jmp 0x47adba
lea eax, [ebp - 0x208]
push 0x4a8cc0
push eax
call fcn.00404440
add esp, 8
jmp case.0x47aceb.703
push dword [esi + 0x1a4]
push 0x4a9288
lea eax, [ebp - 0x208]
push eax
call fcn.00404440
add esp, 0xc
mov esi, dword [ebp - 0x310]
lea eax, [ebp - 0x208]
push eax
push 0x4a77c8
push esi
call fcn.00411e60
add esp, 0xc
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a034d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc