Function at 0x41cb69
Capabilities:
Enumerate pe sections

Disassembly:
push 0xffffffffffffffff
push 0x478946
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd1c
mov eax, dword [0x486090]
xor eax, dword [esp + 0xd28]
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x30]
mov dword [esp + 0xd28], eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
mov ecx, 0xcce088
mov dword [0xcd30b4], eax
call fcn.00404bc0
mov ecx, esi
call fcn.004152d0
mov byte [esp + 0x37], al
cmp dword [esi + 0x50], 1
jne 0x41cc62
xor ebx, ebx
lea ebp, [esi + 0x6bfb4]
lea ebx, [ebx]
cmp dword [ebp], 0
je 0x41cc62
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
cmp dword [ebp], eax
je 0x41cbd7
inc ebx
add ebp, 8
cmp ebx, 0xc350
jl 0x41cbb0
jmp 0x41cc62
mov ebx, dword [esi + ebx*8 + 0x6bfb8]
lea eax, [esi + 0xfe7bc]
sub ebx, 0xb
xor ebp, ebp
mov dword [esp + 0x2c], eax
lea ecx, [ecx]
lea ecx, [ebx + ebp]
test ecx, ecx
jl 0x41cc51
cmp ecx, 0xc350
jge 0x41cc1e
lea edx, [ebx + ebp]
mov eax, dword [esi + edx*4 + 0xcda78]
test eax, eax
je 0x41cc1e
mov edx, dword [esi + 0xfe7b8]
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ecx
push edx
jmp 0x41cc4b
test ecx, ecx
jl 0x41cc51
cmp ecx, 0xc350
jge 0x41cc51
lea eax, [ebx + ebp]
mov ecx, dword [esi + eax*4 + 0xcda78]
test ecx, ecx
jne 0x41cc51
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [esi + 0xfe7b8]
push 0x47a6dc
push edx
push eax
call dword [0x47a1c8]
mov ecx, dword [esp + 0x2c]
inc ebp
add ecx, 4
cmp ebp, 0x1a
mov dword [esp + 0x2c], ecx
jl 0x41cbf0
movzx ebp, byte [esp + 0x37]
lea eax, [ebp - 2]
cmp eax, 0xee
mov dword [esp + 0x30], ebp
ja case.0x41cc80.5
movzx ecx, byte [eax + 0x41f6f8]
jmp dword [ecx*4 + 0x41f578]
mov edx, dword [0x49e928]
mov ecx, dword [edx*4 + 0x49e92c]
mov eax, dword [ecx]
push 1
call dword [eax + 0x14]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, edi
jne 0x41cd27
mov edx, dword [edi]
call dword [edx + 0x98]
mov ebx, eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x98]
mov eax, ebx
sub eax, 0
je 0x41ccf8
dec eax
je 0x41cce3
dec eax
jne case.0x41cc80.5
push 8
mov ecx, 0x49e860
call fcn.004011b0
jmp case.0x41cc80.5
mov ecx, esi
call fcn.0041bbb0
push 0
mov ecx, esi
call fcn.0041ba20
jmp case.0x41cc80.5
push 3
mov ecx, 0x49e860
call fcn.00401b10
mov ecx, dword [0x49e928]
mov ecx, dword [ecx*4 + 0x49e92c]
mov edx, dword [ecx]
call dword [edx + 4]
push 1
mov ecx, 0x49e860
call fcn.004011b0
jmp case.0x41cc80.5
mov eax, dword [edi]
call dword [eax + 0x98]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x98]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, edi
jne 0x41cd83
mov eax, dword [edi]
call dword [eax + 0x94]
mov ecx, 0x49e860
mov edi, eax
call fcn.0041b070
cmp eax, 6
mov ecx, 0x49e860
je 0x41cd6c
push edi
jmp 0x41cd6e
push 1
call fcn.0041b090
push edi
mov ecx, 0x49e860
call fcn.0041b090
jmp case.0x41cc80.5
mov edx, dword [edi]
call dword [edx + 0x94]
jmp case.0x41cc80.5
mov eax, dword [0x49e928]
mov ecx, dword [eax*4 + 0x49e92c]
mov edx, dword [ecx]
push 8
call dword [edx + 0x14]
jmp case.0x41cc80.5
mov eax, dword [0x49e928]
mov ecx, dword [eax*4 + 0x49e92c]
mov edx, dword [ecx]
push 0xb
call dword [edx + 0x14]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41ce00
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.004152f0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x18]
push eax
mov ecx, 0xcce088
call fcn.004049b0
jmp case.0x41cc80.5
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41cecf
call fcn.00415310
mov ecx, esi
movzx edi, ax
call fcn.00415310
movzx ecx, ax
mov dword [esp + 0x18], ecx
mov ecx, esi
call fcn.00415310
movzx edx, ax
mov ecx, esi
mov dword [esp + 0x1c], edx
call fcn.00415310
movzx eax, ax
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.00415310
movzx ecx, ax
mov dword [esp + 0x24], ecx
mov ecx, 0x49e860
call fcn.00401b80
push edi
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, 0x49e860
call fcn.00402bb0
mov ebx, dword [0x47a238]
call ebx
mov edi, eax
add edi, 0x1f4
mov ecx, 0x49e860
call fcn.00401b90
test eax, eax
jne 0x41ceb6
call ebx
cmp edi, eax
ja 0x41cea2
mov ecx, dword [0x49e928]
mov ecx, dword [ecx*4 + 0x49e92c]
mov edx, dword [ecx]
push 9
call dword [edx + 0x14]
jmp case.0x41cc80.5
call fcn.00415310
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41cecf
call fcn.00415310
mov ecx, esi
movzx edi, ax
call fcn.00415310
movzx eax, ax
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00415310
movzx ecx, ax
mov dword [esp + 0x1c], ecx
mov ecx, esi
call fcn.00415310
movzx edx, ax
mov ecx, esi
mov dword [esp + 0x20], edx
call fcn.00415310
movzx eax, ax
mov ecx, 0x49e860
mov dword [esp + 0x24], eax
call fcn.00401b80
push edi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004152f0
mov edx, dword [esi + eax*4 + 0x6168]
push edx
mov ecx, 0x49e860
call fcn.00402d10
mov ebx, dword [0x47a238]
call ebx
mov edi, eax
add edi, 0x1f4
mov ecx, 0x49e860
call fcn.00401b90
test eax, eax
jne 0x41cf96
call ebx
cmp edi, eax
ja 0x41cf82
mov eax, dword [0x491700]
test eax, eax
jne 0x41cfb2
mov dword [0xef980c], 1
mov byte [0xcd4aa4], 1
jmp 0x41cfc3
mov dword [0xef980c], 0
mov byte [0xcd4aa4], 0
mov eax, dword [esi + 0x36eb4]
push eax
mov ecx, 0xef9740
call fcn.0040f490
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e479
call fcn.00415310
mov ecx, esi
movzx edi, ax
call fcn.004152f0
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
sub esp, 8
mov ecx, 0x49e860
fstp qword [esp]
push edi
call fcn.00401ba0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41eb8f
call fcn.00415310
movzx eax, ax
push eax
mov ecx, 0x49e860
call fcn.00401bd0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
push 0xffffffffffffffff
mov ecx, 0x49e860
call fcn.00401c10
push 0xffffffffffffffff
mov ecx, 0x49e860
call fcn.00401c50
mov dword [0xef980c], 0
mov byte [0xcd4aa4], 0
mov ecx, dword [esi + 0x36eb4]
push ecx
mov ecx, 0xef9740
call fcn.0040f490
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41ce07
call fcn.004152f0
mov edx, dword [esi + eax*4 + 0x6168]
mov edi, dword [0x47a0f8]
push edx
lea eax, [esp + 0x174]
push eax
call edi
mov ecx, esi
call fcn.004152f0
mov ecx, dword [esi + eax*4 + 0x6168]
push ecx
lea edx, [esp + 0x55c]
push edx
call edi
lea eax, [esp + 0x558]
push eax
lea ecx, [esp + 0x174]
push ecx
mov ecx, esi
call fcn.0041c2b0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41d5b0
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x8c]
movzx eax, al
mov ecx, 0xef9740
mov dword [0xef9b14], eax
call fcn.0040ece0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [0xcd86e8], 1
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [0xcd86e8], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [0x49e5e4], 1
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [0x49e5e4], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [0x49e5e8], 1
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [0x49e5e8], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41d5b0
cmp dword [0x49e960], 0x18
jne 0x41d208
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x8c]
dec al
neg al
sbb eax, eax
inc eax
mov dword [0x49e924], eax
jmp case.0x41cc80.5
mov dword [0x49e924], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41d5b0
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x8c]
mov bl, al
movzx ecx, bl
push ecx
mov ecx, 0xef9740
call fcn.00401000
mov byte [0xcd4aa4], bl
mov edx, dword [esi + 0x36eb4]
push edx
mov ecx, 0xef9740
call fcn.0040f490
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov dword [esi + 0x6bfa0], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41dbde
call fcn.004152f0
mov ecx, dword [esi + 0x6bfa0]
add ecx, 0x47e8
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*8], eax
mov ecx, esi
call fcn.004152f0
mov ecx, dword [esi + 0x6bfa0]
lea edx, [ecx + ecx*2]
mov ecx, esi
mov dword [esi + edx*8 + 0x6bdc4], eax
call fcn.004152f0
mov ecx, dword [esi + 0x6bfa0]
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*8 + 0x6bdc8], eax
mov ecx, esi
call fcn.004152f0
mov ecx, dword [esi + 0x6bfa0]
lea edx, [ecx + ecx*2]
mov ecx, esi
mov dword [esi + edx*8 + 0x6bdcc], eax
call fcn.004152f0
mov ecx, dword [esi + 0x6bfa0]
lea ecx, [ecx + ecx*2]
mov dword [esi + ecx*8 + 0x6bdd0], eax
mov ecx, esi
call fcn.004152f0
mov ecx, dword [esi + 0x6bfa0]
lea edx, [ecx + ecx*2]
mov dword [esi + edx*8 + 0x6bdd4], eax
inc dword [esi + 0x6bfa0]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov eax, dword [0x49e928]
mov ecx, dword [eax*4 + 0x49e92c]
mov dword [0xcd4aa8], 0xffffffff
mov edx, dword [ecx]
push 0x10
call dword [edx + 0x14]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d3b7
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.00415310
mov ecx, esi
mov edi, eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], edi
call fcn.0041bac0
cmp eax, 1
jne case.0x41cc80.5
cmp bl, 0x3e
movzx edi, di
jne 0x41d3a3
lea edi, [edi*4 + 0x4916d8]
call dword [0x47a238]
mov dword [edi], eax
jmp case.0x41cc80.5
lea edi, [edi*4 + 0xcd4aa8]
call dword [0x47a238]
mov dword [edi], eax
jmp case.0x41cc80.5
call fcn.004152d0
mov ecx, esi
call fcn.00415310
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41dbf8
mov edx, dword [esi + 0x74]
mov ebx, dword [0x49e87c]
lea edi, [esi + 0x74]
mov ecx, edi
call dword [edx + 0x38]
mov ecx, esi
call fcn.004152f0
mov ecx, esi
mov ebp, eax
call fcn.004152f0
mov edx, dword [edi]
push eax
push ebp
push ebx
mov ecx, edi
call dword [edx + 0x34]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41dbec
call fcn.004152f0
mov ecx, esi
mov dword [esi + 0x6bfa4], eax
call fcn.004152f0
mov ecx, esi
mov dword [esi + 0x6bfa8], eax
call fcn.004152f0
mov ecx, esi
mov dword [esi + 0x6bfac], eax
call fcn.004152f0
mov dword [esi + 0x6bfb0], eax
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e3b0
mov ebx, dword [esi + 0x74]
lea edi, [esi + 0x74]
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
push eax
mov ecx, edi
call dword [ebx + 0x58]
mov ecx, dword [esi + 0x6bfac]
mov edx, dword [esi + 0x6bfb0]
mov ebx, dword [0x49e880]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov edx, dword [edi]
mov ebp, dword [ebx]
push 0xff00ff
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
call dword [edx + 0x40]
mov ecx, dword [esi + 0x6bfa4]
push eax
mov eax, dword [esi + 0x6bfa8]
push eax
push ecx
mov ecx, ebx
call dword [ebp + 0x64]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d596
call fcn.004152f0
mov ecx, esi
mov ebp, eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.004152d0
cmp al, 0x43
mov ebx, dword [esi + 0x74]
lea edi, [esi + 0x74]
mov ecx, esi
jne 0x41d530
call fcn.00415310
movzx edx, ax
imul edx, edx, 0x65
add edx, 0xcd5728
push edx
jmp 0x41d545
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
push eax
mov ecx, edi
call dword [ebx + 0x58]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [0x49e880]
xor eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov edx, dword [edi]
push 0xff00ff
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, dword [ebx]
push ecx
mov ecx, edi
mov dword [esp + 0x1c], eax
call dword [edx + 0x40]
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x24]
push ebp
mov ecx, ebx
call dword [eax + 0x64]
jmp case.0x41cc80.5
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152d0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov eax, dword [esi + 0x6bfa4]
mov edi, dword [esi + 0x6bfac]
mov edx, dword [esi + 0x6bfa8]
mov ecx, dword [0x49e87c]
mov dword [esp + 0x18], eax
add edi, eax
mov eax, dword [esi + 0x6bfb0]
add eax, edx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edi
mov edx, dword [ecx]
push eax
call dword [edx + 0x28]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41dbec
mov edi, dword [0x49e87c]
call fcn.004152f0
mov ecx, esi
mov ebx, eax
call fcn.004152f0
mov ecx, esi
mov ebp, eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004152f0
mov ecx, dword [esp + 0x14]
add eax, ebp
add ecx, ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x28]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41d776
mov ecx, dword [0x49e87c]
mov dword [esp + 0x14], ecx
mov ecx, esi
call fcn.004152d0
mov bl, al
mov ecx, esi
mov byte [esp + 0x2c], bl
call fcn.00415310
lea edx, [esp + 0x10]
push edx
mov ecx, esi
xor edi, edi
mov ebp, eax
mov dword [esp + 0x14], ebp
call fcn.0041bac0
cmp eax, 1
jne 0x41d6e2
cmp bl, 0x3e
movzx edi, bp
jne 0x41d6c5
lea edi, [edi*4 + 0x4916d8]
jmp 0x41d6cc
lea edi, [edi*4 + 0xcd4aa8]
cmp dword [esi + 0x50], 1
jne 0x41d6e2
mov eax, dword [esp + 0x2c]
push ebp
push eax
mov ecx, 0x4adcc0
call fcn.00415250
mov ebp, dword [edi]
mov ecx, esi
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x2c], al
call fcn.00415310
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x14], ebx
call fcn.0041bac0
cmp eax, 1
jne 0x41d73d
cmp byte [esp + 0x2c], 0x3e
movzx edi, bx
jne 0x41d720
lea edi, [edi*4 + 0x4916d8]
jmp 0x41d727
lea edi, [edi*4 + 0xcd4aa8]
cmp dword [esi + 0x50], 1
jne 0x41d73d
mov edx, dword [esp + 0x2c]
push ebx
push edx
mov ecx, 0x4adcc0
call fcn.00415250
mov edi, dword [edi]
mov ecx, esi
call fcn.004152f0
mov ecx, esi
mov ebx, eax
call fcn.004152f0
mov ecx, dword [esp + 0x14]
add eax, edi
add ebx, ebp
lea edx, [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x28]
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e3a9
call fcn.004152f0
mov ecx, esi
mov edi, eax
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
mov ebx, eax
mov eax, edi
imul eax, eax, 0x104
push ebx
add eax, 0xcd353c
push eax
call dword [0x47a0f8]
mov ecx, dword [esi + edi*4 + 0x385a4]
push ebx
push ecx
mov ecx, 0x49e860
call fcn.00402230
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
push 0
mov ecx, esi
call fcn.0041c120
xor edi, edi
lea ebx, [esi + 0x36f0c]
mov edx, dword [ebx]
push 0
push edx
push edi
mov ecx, esi
call fcn.0041c160
inc edi
add ebx, 0x114
cmp edi, 0x14
jb 0x41d822
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
mov ecx, 0x49e860
movzx edi, al
call fcn.0041b070
cmp eax, 6
jne 0x41d86a
xor edi, edi
xor eax, eax
mov al, byte [0xcd4aa7]
xor ecx, ecx
mov cl, byte [0xcd4aa6]
xor edx, edx
mov dl, byte [0xcd4aa5]
push eax
mov eax, dword [0xcd4aa0]
push ecx
mov ecx, dword [esi + 0x36eb4]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0041c3d0
push 0
push 0
lea edx, [esp + 0x54]
push edx
push edi
mov eax, dword [esi + 0x36eb4]
push eax
mov ecx, 0x4ae0a4
call fcn.0040e430
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41da10
xor ecx, ecx
mov cl, byte [0xcd4aa7]
xor edx, edx
mov dl, byte [0xcd4aa6]
xor eax, eax
mov al, byte [0xcd4aa5]
push ecx
mov ecx, dword [0xcd4aa0]
push edx
mov edx, dword [esi + 0x36eb4]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0041c3d0
mov ecx, esi
call fcn.0041c620
mov ecx, esi
mov edi, eax
call fcn.0041c620
mov ecx, esi
mov ebp, eax
call fcn.0041c620
mov ecx, esi
mov ebx, eax
call fcn.0041c620
mov ecx, dword [0x49e880]
lea edx, [esp + 0x18]
push edx
mov edx, dword [esi + 0x36eb4]
push edx
add eax, ebp
add ebx, edi
mov dword [esp + 0x28], ebx
mov ebx, dword [0x49e87c]
push ebp
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
push edi
call dword [eax + 0x60]
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call dword [eax + 0x28]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d9fd
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.0041c620
mov ecx, esi
mov edi, eax
call fcn.0041c620
mov ecx, esi
mov ebp, eax
call fcn.0041c620
mov ecx, esi
mov ebx, eax
call fcn.0041c620
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.0041c620
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.0041c620
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], eax
add eax, ecx
mov dword [esp + 0x24], eax
push 0xff00ff
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x30]
add edx, ebx
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x36eb4]
push ecx
mov dword [esp + 0x24], ebx
mov ebx, dword [edx]
mov ecx, esi
call fcn.0041c5c0
push eax
push ebp
push edi
mov ecx, edx
call dword [ebx + 0x64]
mov edx, dword [esp + 0x38]
jmp 0x41dac7
call fcn.004152f0
mov ecx, esi
call fcn.0041c620
mov ecx, esi
call fcn.0041c620
mov ecx, esi
call fcn.0041c620
mov ecx, esi
call fcn.0041c620
mov ecx, esi
call fcn.0041c620
mov ecx, esi
call fcn.0041c620
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d9fd
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.0041c620
mov ecx, esi
mov edi, eax
call fcn.0041c620
mov ecx, esi
mov ebp, eax
call fcn.0041c620
mov ecx, esi
mov ebx, eax
call fcn.0041c620
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.0041c620
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.0041c620
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
add eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x14]
add edx, ebx
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x24], edx
mov edx, dword [esi + 0x36eb4]
push ecx
mov dword [esp + 0x20], ebx
mov ebx, dword [edx]
mov ecx, esi
call fcn.0041c5c0
push eax
push ebp
push edi
mov ecx, edx
call dword [ebx + 0xa4]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
add edx, ebp
push edx
add eax, edi
push eax
push ebp
push edi
lea ecx, [esp + 0x28]
push ecx
call dword [0x47a208]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41dbc9
call fcn.004152f0
mov ecx, esi
mov ebx, eax
call fcn.004152f0
mov ecx, esi
mov edi, eax
call fcn.004152f0
mov ecx, esi
mov ebp, eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.004152f0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
add edx, ecx
push eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
add ecx, edx
mov edx, dword [esi + 0x36eb4]
push eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esi + ebx*4 + 0x385a4]
mov ecx, dword [edx]
push eax
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x40], ecx
push ebx
mov ecx, esi
call fcn.0041c5c0
push eax
mov eax, dword [esp + 0x44]
push ebp
push edi
mov ecx, edx
call dword [eax + 0x94]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
add ecx, ebp
push ecx
add edx, edi
push edx
push ebp
push edi
lea eax, [esp + 0x28]
push eax
call dword [0x47a208]
jmp case.0x41cc80.5
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e479
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.004152f0
imul eax, eax, 0x5734
lea ecx, [eax + 0xcd86ec]
movzx edx, word [ecx + 2]
mov eax, 0x10624dd3
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, 0x30
mov byte [esp + 0x18], dl
movzx edx, word [ecx + 2]
mov eax, 0x51eb851f
imul edx
mov eax, edx
sar eax, 5
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
mov ebx, 0xa
idiv ebx
mov eax, 0x66666667
mov ebp, 0xa
add dl, 0x30
mov byte [esp + 0x19], dl
movzx edx, word [ecx + 2]
imul edx
mov eax, edx
sar eax, 2
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv ebx
add dl, 0x30
mov byte [esp + 0x1a], dl
movzx eax, word [ecx + 2]
cdq
idiv ebx
mov bl, 0x2f
mov byte [esp + 0x1c], bl
mov eax, 0x66666667
add dl, 0x30
mov byte [esp + 0x1b], dl
movzx edx, byte [ecx + 4]
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, 0x30
mov byte [esp + 0x1d], dl
movzx eax, byte [ecx + 4]
cdq
idiv ebp
mov byte [esp + 0x1f], bl
mov eax, 0x66666667
mov ebx, ebp
add dl, 0x30
mov byte [esp + 0x1e], dl
movzx edx, byte [ecx + 5]
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, 0x30
mov byte [esp + 0x20], dl
movzx eax, byte [ecx + 5]
cdq
idiv ebx
mov byte [esp + 0x22], 0x20
mov eax, 0x66666667
add dl, 0x30
mov byte [esp + 0x21], dl
movzx edx, byte [ecx + 6]
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, 0x30
mov byte [esp + 0x23], dl
movzx eax, byte [ecx + 6]
cdq
idiv ebx
mov byte [esp + 0x25], 0x3a
mov eax, 0x66666667
add dl, 0x30
mov byte [esp + 0x24], dl
movzx edx, byte [ecx + 7]
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, 0x30
mov byte [esp + 0x26], dl
movzx eax, byte [ecx + 7]
cdq
mov ecx, ebp
idiv ecx
mov byte [esp + 0x28], 0
add dl, 0x30
mov byte [esp + 0x27], dl
lea edx, [esp + 0x18]
movzx eax, di
imul eax, eax, 0x65
push edx
add eax, 0xcd5728
push eax
call dword [0x47a0f8]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e479
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.004152f0
imul eax, eax, 0x5734
movzx ecx, di
imul ecx, ecx, 0x65
add eax, 0xcd86f4
push eax
add ecx, 0xcd5728
push ecx
call dword [0x47a0f8]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e479
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.004152f0
imul eax, eax, 0x5734
movzx edx, di
imul edx, edx, 0x65
add eax, 0xcd86f4
push eax
add edx, 0xcd5728
push edx
call dword [0x47a0f8]
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, 0xef9740
call fcn.0040ed40
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
mov ecx, dword [esi + eax*4 + 0x6168]
push ecx
mov ecx, 0xef9740
call fcn.00410f20
jmp case.0x41cc80.5
mov ecx, 0xef9740
mov dword [0xef9b14], 0x14
call fcn.0040ece0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41e3ae
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
jmp 0x41e354
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov al, byte [0xcd30bd]
test al, al
jbe 0x41dec6
cmp al, 0xa
jbe 0x41f08c
mov edx, dword [0x49e8c0]
push 0
mov ecx, 0x49e8c0
call dword [edx + 0xc]
push eax
push str.GOSUB
push 0
call dword [0x47a18c]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41ce07
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
mov edi, dword [0x47a0f8]
push eax
push 0xcd2fc0
call edi
mov ecx, esi
call fcn.004152f0
mov ecx, dword [esi + eax*4 + 0x6168]
push ecx
push 0xcd304d
call edi
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41eb8f
call fcn.00415310
movzx eax, ax
push eax
mov ecx, 0xcd2fb0
call fcn.0040e7e0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, esi
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.004152f0
mov edx, dword [esi + eax*4 + 0x6168]
jmp 0x41dd75
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, esi
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.00415310
movzx ecx, ax
movzx edx, di
imul ecx, ecx, 0x65
imul edx, edx, 0x65
add ecx, 0xcd5728
push ecx
add edx, 0xcd5728
push edx
call dword [0x47a0f4]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, esi
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
movzx ecx, di
imul ecx, ecx, 0x65
push eax
add ecx, 0xcd5728
push ecx
call dword [0x47a0f4]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e479
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x10], al
call fcn.00415310
lea edx, [esp + 0x14]
push edx
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x18], ebx
call fcn.0041bac0
cmp eax, 1
jne 0x41e47e
cmp byte [esp + 0x10], 0x3e
movzx edi, bx
jne 0x41e055
lea edi, [edi*4 + 0x4916d8]
jmp 0x41e05c
lea edi, [edi*4 + 0xcd4aa8]
lea eax, [ebp - 0x19]
cmp eax, 9
ja case.0x41e068.31
jmp dword [eax*4 + 0x41f7e8]
mov ecx, esi
call fcn.004152f0
add dword [edi], eax
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
sub dword [edi], eax
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
imul eax, dword [edi]
mov dword [edi], eax
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
mov ecx, eax
mov eax, dword [edi]
cdq
idiv ecx
mov dword [edi], eax
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
mov ecx, eax
mov eax, dword [edi]
cdq
idiv ecx
mov dword [edi], edx
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
mov dword [edi], eax
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
mov ecx, esi
mov ebx, eax
call fcn.004152f0
mov ebp, eax
sub ebp, ebx
test ebp, ebp
jg 0x41e0df
mov ebp, 1
call fcn.00434b02
cdq
idiv ebp
add edx, ebx
mov ebx, dword [esp + 0x14]
mov dword [edi], edx
jmp 0x41e0f8
mov ecx, esi
call fcn.004152f0
cmp dword [esi + 0x50], 1
jne 0x41e54c
mov edx, dword [esp + 0x10]
push ebx
push edx
jmp 0x41e542
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41d5b0
mov al, byte [esi + 0x36eb1]
test al, al
jne 0x41d5b0
mov ecx, esi
call fcn.004152d0
movzx eax, al
mov ecx, 0x490cf8
mov dword [eax*4 + 0x4919f8], 1
call fcn.00407860
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e6aa
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.00415310
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
mov edi, eax
mov dword [esp + 0x34], edi
call fcn.0041bac0
cmp eax, 1
jne 0x41e3a7
cmp bl, 0x3e
movzx edi, di
jne 0x41e199
lea edi, [edi*4 + 0x4916d8]
jmp 0x41e1bc
cmp bl, 0x3d
jne 0x41e1a7
lea edi, [edi*4 + 0xcd4aa8]
jmp 0x41e1bc
cmp bl, 0x41
jne 0x41e1b5
lea edi, [edi*4 + 0x4919f8]
jmp 0x41e1bc
lea edi, [edi*4 + 0x492100]
lea eax, [ebp - 0x24]
cmp eax, 5
ja case.0x41cc80.5
jmp dword [eax*4 + 0x41f810]
mov ecx, esi
call fcn.004152f0
cmp dword [edi], eax
mov ecx, esi
jne 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
cmp dword [edi], eax
mov ecx, esi
je 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
cmp dword [edi], eax
mov ecx, esi
jge 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
cmp dword [edi], eax
mov ecx, esi
jle 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
cmp dword [edi], eax
jmp 0x41e664
mov ecx, esi
call fcn.004152f0
cmp dword [edi], eax
mov ecx, esi
jl 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e6aa
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x36], al
call fcn.00415310
lea edx, [esp + 0x30]
push edx
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x34], ebx
call fcn.0041bac0
cmp eax, 1
jne 0x41e3a7
cmp byte [esp + 0x36], 0x3e
movzx ebx, bx
jne 0x41e2db
lea ebx, [ebx*4 + 0x4916d8]
jmp 0x41e2e2
lea ebx, [ebx*4 + 0xcd4aa8]
lea eax, [ebp - 0x2a]
cmp eax, 5
ja case.0x41cc80.5
jmp dword [eax*4 + 0x41f828]
mov ecx, esi
call fcn.004152f0
cmp dword [ebx], eax
jne 0x41e3ae
jmp 0x41e34d
mov ecx, esi
call fcn.004152f0
cmp dword [ebx], eax
je 0x41e3ae
jmp 0x41e34d
mov ecx, esi
call fcn.004152f0
cmp dword [ebx], eax
jge 0x41e3ae
jmp 0x41e34d
mov ecx, esi
call fcn.004152f0
cmp dword [ebx], eax
jle 0x41e3ae
jmp 0x41e34d
mov ecx, esi
call fcn.004152f0
cmp dword [ebx], eax
jg 0x41e3ae
jmp 0x41e34d
mov ecx, esi
call fcn.004152f0
cmp dword [ebx], eax
jl 0x41e3ae
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
movzx ecx, byte [0xcd30bd]
add eax, 4
mov dword [ecx*4 + 0xcd30c0], eax
mov al, byte [0xcd30bd]
inc al
cmp al, 0xa
mov byte [0xcd30bd], al
jbe 0x41e393
mov edx, dword [0x49e8c0]
push 0
mov ecx, 0x49e8c0
call dword [edx + 0xc]
push eax
push str.GOSUB
push 0
call dword [0x47a18c]
mov ecx, esi
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e464
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x10], al
call fcn.00415310
mov ecx, esi
mov edi, eax
mov dword [esp + 0x30], edi
call fcn.004152f0
mov ecx, esi
mov ebp, eax
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.00415310
cmp byte [esp + 0x10], 0x3e
movzx ecx, di
lea edx, [ecx*4 + 0x4916d8]
je 0x41e412
lea edx, [ecx*4 + 0xcd4aa8]
cmp bl, 0x3e
mov dword [esp + 0x14], edx
movzx eax, ax
jne 0x41e427
lea eax, [eax*4 + 0x4916d8]
jmp 0x41e42e
lea eax, [eax*4 + 0xcd4aa8]
mov edi, dword [eax]
sub edi, ebp
test edi, edi
jg 0x41e43b
mov edi, 1
call fcn.00434b02
cdq
idiv edi
mov eax, dword [esp + 0x14]
add edx, ebp
mov dword [eax], edx
cmp dword [esi + 0x50], 1
jne 0x41e54c
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
push ecx
push edx
jmp 0x41e542
call fcn.00415310
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.004152f0
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e566
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x10], al
call fcn.00415310
mov ecx, esi
mov ebp, eax
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.00415310
cmp byte [esp + 0x10], 0x3e
movzx ecx, bp
jne 0x41e4d0
lea ecx, [ecx*4 + 0x4916d8]
jmp 0x41e4d7
lea ecx, [ecx*4 + 0xcd4aa8]
cmp bl, 0x3e
movzx edi, ax
jne 0x41e4e8
lea edi, [edi*4 + 0x4916d8]
jmp 0x41e4ef
lea edi, [edi*4 + 0xcd4aa8]
mov eax, dword [esp + 0x30]
add eax, 0xffffffd0
cmp eax, 5
ja case.default.0x41e4fb
jmp dword [eax*4 + 0x41f840]
mov eax, dword [edi]
add dword [ecx], eax
jmp 0x41e536
mov edx, dword [edi]
sub dword [ecx], edx
jmp 0x41e536
mov eax, dword [edi]
imul eax, dword [ecx]
mov dword [ecx], eax
jmp 0x41e536
mov eax, dword [ecx]
cdq
idiv dword [edi]
mov dword [ecx], eax
jmp 0x41e536
mov eax, dword [ecx]
cdq
idiv dword [edi]
mov dword [ecx], edx
jmp 0x41e536
mov edx, dword [edi]
mov dword [ecx], edx
jmp 0x41e536
mov ecx, esi
call fcn.004152f0
cmp dword [esi + 0x50], 1
jne 0x41e54c
mov eax, dword [esp + 0x10]
push ebp
push eax
mov ecx, 0x4adcc0
call fcn.00415250
cmp byte [esp + 0x10], 0x3e
jne case.0x41cc80.5
mov ecx, 0x490cf8
call fcn.00407860
jmp case.0x41cc80.5
call fcn.00415310
jmp 0x41e470
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e69c
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x36], al
call fcn.00415310
cmp bl, 0x3e
movzx ecx, di
jne 0x41e5b4
lea ecx, [ecx*4 + 0x4916d8]
jmp 0x41e5bb
lea ecx, [ecx*4 + 0xcd4aa8]
cmp byte [esp + 0x36], 0x3e
movzx eax, ax
jne 0x41e5ce
lea eax, [eax*4 + 0x4916d8]
jmp 0x41e5d5
lea eax, [eax*4 + 0xcd4aa8]
lea edx, [ebp - 0x37]
cmp edx, 5
ja case.0x41cc80.5
jmp dword [edx*4 + 0x41f858]
mov ecx, dword [ecx]
cmp ecx, dword [eax]
mov ecx, esi
jne 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov edx, dword [ecx]
cmp edx, dword [eax]
mov ecx, esi
je 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, dword [ecx]
cmp ecx, dword [eax]
mov ecx, esi
jge 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov edx, dword [ecx]
cmp edx, dword [eax]
mov ecx, esi
jle 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov ecx, dword [ecx]
cmp ecx, dword [eax]
mov ecx, esi
jg 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
mov edx, dword [ecx]
cmp edx, dword [eax]
mov ecx, esi
jl 0x41e3b0
call fcn.004152f0
push eax
mov ecx, esi
call fcn.0041ba50
jmp case.0x41cc80.5
call fcn.004152d0
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
je 0x41e6d6
cmp eax, 3
jne case.0x41cc80.5
mov ecx, esi
call fcn.0041c500
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
sub eax, 0
je 0x41e6fe
sub eax, 2
je 0x41e3ae
dec eax
jne case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
mov edi, eax
push edi
push 0xcd30e8
call dword [0x47a0f8]
push edi
mov ecx, esi
mov byte [0xcd31ec], 0
call fcn.0041bc80
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e7a2
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.004152f0
mov ecx, esi
mov ebp, eax
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
push eax
movzx edi, bl
push ebp
push edi
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.0041be00
mov eax, dword [esp + 0x30]
lea ecx, [edi + edi*4]
push eax
lea edx, [ecx*4 + 0xcd32a4]
push edx
mov byte [edi + 0xcd31ed], bl
call dword [0x47a0f8]
mov dword [edi*4 + 0xcd3204], ebp
jmp case.0x41cc80.5
call fcn.004152d0
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.004152f0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e7a2
call fcn.004152d0
mov ecx, esi
mov bl, al
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
mov ebp, eax
movzx edi, bl
push ebp
push edi
mov ecx, esi
call fcn.0041bed0
mov dword [esp + 0x30], eax
lea eax, [edi + edi*4]
push ebp
lea ecx, [eax*4 + 0xcd32a4]
push ecx
mov byte [edi + 0xcd31ed], bl
call dword [0x47a0f8]
mov edx, dword [esp + 0x30]
mov dword [edi*4 + 0xcd3204], edx
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d3b7
call fcn.004152d0
mov bl, al
movzx edi, bl
mov eax, edi
imul eax, eax, 0x114
mov ecx, esi
lea ebp, [eax + esi + 0x36f0c]
call fcn.004152f0
mov dword [ebp], eax
mov byte [edi + 0xcd31ed], bl
mov ecx, dword [ebp]
mov dword [edi*4 + 0xcd3204], ecx
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d3b7
call fcn.004152d0
mov bl, al
movzx edi, bl
mov edx, edi
imul edx, edx, 0x114
mov ecx, esi
lea ebp, [edx + esi]
call fcn.004152f0
mov ecx, esi
mov dword [ebp + 0x36f0c], eax
call fcn.004152f0
mov dword [ebp + 0x36f10], eax
mov byte [edi + 0xcd31ed], bl
mov ecx, dword [esi + edi*4 + 0x36ebc]
xor eax, eax
test ecx, ecx
je 0x41e8bf
mov eax, dword [ecx + 0x18]
sar eax, 1
mov ecx, dword [ebp + 0x36f0c]
sar eax, 1
sub ecx, eax
mov dword [edi*4 + 0xcd3204], ecx
mov edx, dword [ebp + 0x36f10]
mov dword [edi*4 + 0xcd3254], edx
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
mov ebx, dword [0x47a0f8]
movzx edi, al
mov eax, edi
imul eax, eax, 0x114
add eax, esi
xor ebp, ebp
mov dword [eax + 0x36f0c], ebp
mov dword [eax + 0x36f10], ebp
push 0x47a3a0
add eax, 0x36f1c
push eax
call ebx
push edi
mov ecx, 0xcce088
call fcn.00405230
mov ecx, dword [esi + edi*4 + 0x36ebc]
cmp ecx, ebp
je 0x41e941
mov edx, dword [ecx]
call dword [edx + 8]
lea eax, [edi + edi*4]
push 0x47a3a0
lea ecx, [eax*4 + 0xcd32a4]
push ecx
mov byte [edi + 0xcd31ed], 0
call ebx
mov dword [edi*4 + 0xcd3204], ebp
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
push 0
mov ecx, esi
call fcn.0041c120
xor edi, edi
lea ebp, [esi + 0x36f0c]
mov edx, dword [ebp]
push 0
push edx
push edi
mov ecx, esi
call fcn.0041c160
inc edi
add ebp, 0x114
cmp edi, 0x14
jb 0x41e986
mov eax, dword [0x49e928]
mov ecx, dword [eax*4 + 0x49e92c]
test ecx, ecx
mov edi, 0x32
je 0x41e9c1
mov edx, dword [ecx]
call dword [edx + 0x10]
cmp eax, 6
jne 0x41e9c1
xor edi, edi
mov ecx, esi
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
lea ecx, [esp + 0x70]
push ecx
call dword [0x47a0f8]
mov eax, dword [esi + 0x36eb4]
push 0
push 0
lea edx, [esp + 0x54]
push edx
push edi
push eax
mov ecx, 0x4ae0a4
call fcn.0040e430
push 0
mov ecx, esi
call fcn.0041c680
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
push 0
call fcn.0041c120
xor edi, edi
lea ebp, [esi + 0x36f0c]
mov ecx, dword [ebp]
push 0
push ecx
push edi
mov ecx, esi
call fcn.0041c160
inc edi
add ebp, 0x114
cmp edi, 0x14
jb 0x41ea24
mov ecx, esi
call fcn.004152d0
mov edx, dword [0x49e928]
mov ecx, dword [edx*4 + 0x49e92c]
test ecx, ecx
movzx edi, al
je 0x41ea65
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp eax, 6
jne 0x41ea65
xor edi, edi
xor ecx, ecx
mov cl, byte [0xcd4aa7]
xor edx, edx
mov dl, byte [0xcd4aa6]
xor eax, eax
mov al, byte [0xcd4aa5]
push ecx
mov ecx, dword [0xcd4aa0]
push edx
mov edx, dword [esi + 0x36eb4]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0041c3d0
mov ecx, dword [esi + 0x36eb4]
push 0
push 0
lea eax, [esp + 0x54]
push eax
push edi
push ecx
jmp 0x41e9ec
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41eb8f
mov edi, 0x48
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x50], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x58], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x5c], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x60], eax
call fcn.004152f0
mov ecx, esi
mov dword [esp + 0x64], eax
call fcn.004152f0
mov ecx, 0x49e860
mov dword [esp + 0x4c], eax
call fcn.0041b070
cmp eax, 6
jne 0x41d898
xor edi, edi
mov dword [esp + 0x4c], 0xa
jmp 0x41d898
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41eb8f
call fcn.00415310
movzx ecx, ax
mov dword [esp + 0x4c], ecx
mov ecx, 0x49e860
call fcn.0041b070
cmp eax, 6
jne 0x41eb5d
mov dword [esp + 0x4c], 0xa
push 0
push 0
lea edx, [esp + 0x54]
push edx
push 0x47
jmp 0x41d8a2
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
je 0x41eb99
call fcn.00415310
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.00415310
jmp case.0x41cc80.5
mov edi, 0x46
call fcn.00415310
movzx ecx, ax
mov dword [esp + 0x4c], ecx
mov ecx, esi
call fcn.00415310
movzx edx, ax
mov ecx, esi
mov dword [esp + 0x50], edx
call fcn.00415310
movzx eax, ax
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.00415310
movzx ecx, ax
mov dword [esp + 0x58], ecx
mov ecx, 0x49e860
call fcn.0041b070
cmp eax, 6
jne 0x41d898
xor edi, edi
jmp 0x41d898
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
movzx edi, al
push edi
mov ecx, 0x49ecc8
call fcn.00405e70
mov dword [0xcd3434], edi
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152f0
mov ecx, dword [esi + eax*4 + 0x6168]
push ecx
mov ecx, 0x49ecc8
call fcn.00407130
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0x49ecc8
call fcn.00407010
mov dword [0xcd3434], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0x49ecc8
call fcn.00407120
mov dword [0xcd3434], 0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41ed2d
mov ecx, 0xcce088
call fcn.00405100
mov ecx, esi
call fcn.004152d0
mov bl, al
mov ecx, esi
mov byte [esp + 0x30], bl
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x14], al
call fcn.004152d0
mov ecx, esi
mov byte [esp + 0x10], al
call fcn.00415310
mov ecx, esi
mov edi, eax
call fcn.00415310
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
movzx eax, ax
push eax
mov eax, dword [esp + 0x18]
push edi
push edx
push eax
push ecx
mov ecx, esi
call fcn.0041c770
mov dl, byte [esp + 0x14]
mov al, byte [esp + 0x10]
mov byte [0xcd31ed], 0xc
mov byte [0xcd32a4], bl
mov byte [0xcd32a5], dl
mov byte [0xcd32a6], al
mov byte [0xcd31ec], 1
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.00415310
mov ecx, esi
call fcn.00415310
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41ed95
call fcn.004152f0
mov ecx, esi
mov dword [0xcd4aa0], eax
call fcn.004152d0
mov ecx, esi
mov byte [0xcd4aa5], al
call fcn.004152d0
mov ecx, esi
mov byte [0xcd4aa6], al
call fcn.004152d0
mov byte [0xcd4aa7], al
jmp case.0x41cc80.5
call fcn.004152f0
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.004152d0
mov ecx, esi
call fcn.004152d0
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
movzx eax, al
push 1
push eax
mov ecx, 0x49e860
call fcn.00403520
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0x49e860
call fcn.00401b50
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, esi
call fcn.00415310
movzx ecx, ax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
test dx, dx
jne 0x41ee31
mov edx, 1
movzx edx, dx
push edx
mov ecx, 0x49e860
call fcn.00401b10
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e3b0
call fcn.004152f0
mov ecx, 0x49e860
mov edi, eax
call fcn.0041b070
cmp eax, 6
je case.0x41cc80.5
mov eax, dword [esi + edi*4 + 0x6168]
push 0
push eax
mov ecx, esi
call fcn.0041c460
push eax
mov ecx, 0x49e860
call fcn.00401850
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41e3b0
call fcn.004152f0
mov ecx, dword [esi + eax*4 + 0x6168]
push ecx
mov ecx, esi
call fcn.0041c460
push eax
push 0xcd3438
call dword [0x47a0f8]
push 1
push 0xcd3438
mov ecx, 0x49e860
call fcn.00401850
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0x49e860
mov byte [0xcd3438], 0
call fcn.00401a40
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, esi
call fcn.004152f0
mov dword [0x49ecc4], eax
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, esi
or edi, 0xffffffff
call fcn.004152f0
cmp eax, 4
ja case.default.0x41ef3a
jmp dword [eax*4 + 0x41f870]
mov edi, 0x7530
mov dword [0x49ecc4], edi
jmp case.0x41cc80.5
mov edi, 0x84d0
mov dword [0x49ecc4], edi
jmp case.0x41cc80.5
mov edi, 0x9470
mov dword [0x49ecc4], edi
jmp case.0x41cc80.5
mov edi, 0xc350
mov dword [0x49ecc4], edi
jmp case.0x41cc80.5
mov edi, 0x186a0
mov dword [0x49ecc4], edi
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
movzx ebx, al
test ebx, ebx
jge 0x41efb0
xor ebx, ebx
mov eax, dword [ebx*4 + 0x492100]
test eax, eax
jne case.0x41cc80.5
mov dword [ebx*4 + 0x492100], 1
mov dl, byte [0xcd30bc]
mov byte [ebx + 0x491674], dl
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x48]
lea ecx, [ebx + ebx*4]
push 0xcd30e8
lea edx, [ecx*4 + 0x490ea4]
push edx
mov dword [ebx*4 + 0x490d14], eax
call dword [0x47a0f8]
mov ecx, 0x490cf8
call fcn.00407860
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
movzx ebx, al
mov eax, dword [ebx*4 + 0x492100]
test eax, eax
jne 0x41f071
mov dword [ebx*4 + 0x492100], 1
mov al, byte [0xcd30bc]
mov byte [ebx + 0x491674], al
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
mov dword [ebx*4 + 0x490d14], eax
lea eax, [ebx + ebx*4]
push 0xcd30e8
lea ecx, [eax*4 + 0x490ea4]
push ecx
call dword [0x47a0f8]
mov ecx, 0x490cf8
call fcn.00407860
mov al, byte [esi + 0x36eb1]
test al, al
jne case.0x41cc80.5
mov al, byte [0xcd30bd]
test al, al
jbe case.0x41cc80.5
dec al
mov byte [0xcd30bd], al
mov edx, dword [edi]
movzx eax, al
mov ecx, dword [eax*4 + 0xcd30c0]
push ecx
mov ecx, edi
call dword [edx + 0x28]
jmp case.0x41cc80.5
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov al, byte [esi + 0x36eb1]
test al, al
je case.0x41cc80.5
push 3
mov ecx, 0x49e860
call fcn.004011b0
mov al, 0xb4
jmp 0x41f548
mov eax, dword [esp + 0xd3c]
test eax, eax
jne 0x41f20c
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
dec eax
xor edi, edi
mov ecx, esi
mov dword [0xcd30b8], eax
mov dword [0xcd30b4], edi
call fcn.004152d0
push edi
mov ecx, esi
movzx ebx, al
mov dword [esp + 0x1c], 0x3c
mov dword [esp + 0x20], 0x64
mov dword [esp + 0x24], 0x2bc
mov dword [esp + 0x28], 0x1f4
call fcn.0041c120
lea ebp, [esi + 0x36f0c]
mov eax, dword [ebp]
push 0
push eax
push edi
mov ecx, esi
call fcn.0041c160
inc edi
add ebp, 0x114
cmp edi, 0x14
jb 0x41f136
xor ecx, ecx
mov cl, byte [0xcd4aa7]
xor edx, edx
mov dl, byte [0xcd4aa6]
xor eax, eax
mov al, byte [0xcd4aa5]
push ecx
mov ecx, dword [0xcd4aa0]
push edx
mov edx, dword [esi + 0x36eb4]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0041c3d0
mov ecx, dword [esi + 0x36eb4]
push 0
push 0
lea eax, [esp + 0x54]
push eax
push 0
push ecx
mov ecx, 0x4ae0a4
call fcn.0040e430
push 0
mov ecx, esi
call fcn.0041c680
mov eax, dword [esi + 0x36eb4]
push 0
push ebx
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, 0xcd2ba8
call fcn.00403880
push 0
push 0x47a3a0
push 0x47a3a0
push 0
mov ecx, 0xef9740
call fcn.00410fb0
xor edi, edi
test ebx, ebx
jle case.0x41cc80.5
nop
mov ecx, esi
call fcn.004152f0
mov eax, dword [esi + eax*4 + 0x6168]
push eax
mov ecx, esi
call fcn.0041c460
push eax
push edi
mov ecx, 0xcd2ba8
call fcn.00403bd0
inc edi
cmp edi, ebx
jl 0x41f1e0
jmp case.0x41cc80.5
mov ecx, esi
call fcn.004152d0
movzx eax, al
test eax, eax
jle case.0x41cc80.5
mov edi, eax
mov ecx, esi
call fcn.004152f0
dec edi
jne 0x41f220
jmp case.0x41cc80.5
cmp dword [esp + 0xd3c], 1
mov ecx, esi
jne 0x41d5b2
call fcn.004152d0
movzx ecx, al
cmp ecx, dword [esi + 0x36ea8]
jne case.0x41cc80.5
mov al, 0xca
jmp 0x41f548
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
dec eax
mov ecx, esi
mov dword [0xcd30b8], eax
call fcn.004152f0
mov edi, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.004152f0
mov ebx, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.004152f0
mov ebp, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.00415310
movzx eax, ax
push eax
mov ecx, esi
call fcn.0041ba70
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0xcce088
call fcn.00405860
lea ecx, [esp + 0x18]
call fcn.0043a6c0
push ebp
lea ecx, [esp + 0x1c]
mov dword [esp + 0xd38], 0
call fcn.0043aa40
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x170]
push ecx
push edx
push ebx
push edi
mov ecx, 0xef9740
call fcn.00410fb0
push 0
mov ecx, 0xef9740
call fcn.004134c0
push 0
mov ecx, 0xef9740
call fcn.00410f90
mov ecx, 0x49e860
call fcn.0041b070
cmp eax, 6
je 0x41f327
push 0
push edi
mov ecx, 0x49e860
call fcn.00402910
lea eax, [esp + 0x170]
push eax
mov ecx, 0x4b5df8
call fcn.00420c40
lea ecx, [esp + 0x18]
mov dword [esp + 0xd34], 0xffffffff
call fcn.0043a700
jmp case.0x41cc80.5
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
dec eax
mov ecx, esi
mov dword [0xcd30b8], eax
call fcn.004152f0
mov edi, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.004152f0
mov ebx, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.00415310
movzx eax, ax
push eax
mov ecx, esi
call fcn.0041ba70
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0xcce088
call fcn.00405860
lea ecx, [esp + 0x3c]
call fcn.0043a6c0
push ebx
lea ecx, [esp + 0x40]
mov dword [esp + 0xd38], 1
call fcn.0043aa40
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x940]
push ecx
push edx
push edi
push 0
mov ecx, 0xef9740
call fcn.00410fb0
push 0
mov ecx, 0xef9740
call fcn.004134c0
push 0
mov ecx, 0xef9740
call fcn.00410f90
mov ecx, 0x49e860
call fcn.004016e0
lea eax, [esp + 0x940]
push eax
mov ecx, 0x4b5df8
call fcn.00420c40
lea ecx, [esp + 0x3c]
mov dword [esp + 0xd34], 0xffffffff
call fcn.0043a700
jmp case.0x41cc80.5
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
dec eax
mov ecx, esi
mov dword [0xcd30b8], eax
call fcn.004152f0
mov edi, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.004152f0
mov ebx, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.00415310
movzx eax, ax
push eax
mov ecx, esi
call fcn.0041ba70
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0xcce088
call fcn.00405860
push 0
push ebx
push 0
push edi
mov ecx, 0xef9740
call fcn.00410fb0
push 0
mov ecx, 0xef9740
call fcn.004134c0
push 0
mov ecx, 0xef9740
call fcn.00410f90
mov ecx, 0x49e860
call fcn.0041b070
cmp eax, 6
je case.0x41cc80.5
push 0
push edi
mov ecx, 0x49e860
call fcn.00402910
jmp case.0x41cc80.5
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x48]
dec eax
mov ecx, esi
mov dword [0xcd30b8], eax
call fcn.004152f0
mov edi, dword [esi + eax*4 + 0x6168]
mov ecx, esi
call fcn.00415310
movzx eax, ax
push eax
mov ecx, esi
call fcn.0041ba70
mov eax, dword [esp + 0xd3c]
test eax, eax
jne case.0x41cc80.5
mov ecx, 0xcce088
call fcn.00405860
push 0
push edi
push 0
push 0
mov ecx, 0xef9740
call fcn.00410fb0
push 0
mov ecx, 0xef9740
call fcn.004134c0
push 0
mov ecx, 0xef9740
call fcn.00410f90
mov ecx, 0x49e860
call fcn.004016e0
mov al, byte [esp + 0x37]
mov byte [esi + 0x36eb0], al
mov ecx, dword [esp + 0xd2c]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xd24]
xor ecx, dword [esp + 0xd34]
pop esi
pop ebp
pop ebx
call fcn.0043488e
add esp, 0xd28
ret 4