Function at 0x428640
Capabilities:
Authenticate hmac
Encrypt data using rc4 ksa
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x489c7a
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x7cc4
call fcn.0045ab40
mov eax, dword [0x4baad8]
xor eax, esp
mov dword [esp + 0x7cc0], eax
push ebx
push esi
push edi
mov eax, dword [0x4baad8]
xor eax, esp
push eax
lea eax, [esp + 0x7cd8]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
xor edi, edi
or esi, 0xffffffff
mov ebx, ecx
mov eax, dword [ebx + 0x286c]
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x109b68], edx
push 0xc8
mov dword [esp + 0x20], eax
mov eax, esi
push esi
push 0x4b3350
mov dword [esp + 0x40], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0xac], 0x21
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x88], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x48], esi
mov dword [0x4b3328], eax
mov dword [0x4b332c], eax
mov dword [0x4b3330], eax
mov dword [0x4b3334], eax
mov dword [0x4b3338], eax
mov dword [0x4b333c], eax
mov dword [0x4b3340], eax
mov dword [0x4b3344], eax
mov dword [0x4b3348], eax
mov dword [0x4b334c], eax
call fcn.0045ab70
push 0xc8
push esi
push 0x4b3418
call fcn.0045ab70
xor eax, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov eax, esi
push 0x1f8
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
lea eax, [esp + 0x2230]
push edi
mov dword [0x4b34e0], 5
mov dword [0x4c0918], edi
push eax
mov dword [ebx + 0x5f94], edi
call fcn.0045ab70
push 0x30
lea ecx, [esp + 0x16c]
push edi
push ecx
call fcn.0045ab70
push 0x78
push edi
lea edx, [esp + 0x1ac]
push edx
call fcn.0045ab70
push 0x3564
lea eax, [esp + 0x38bc]
push edi
push eax
call fcn.0045ab70
add esp, 0x48
push 0xcf0
lea ecx, [esp + 0x2410]
push edi
push ecx
call fcn.0045ab70
push 0x514
push edi
push ebx
call fcn.0045ab70
mov ecx, dword [ebx + 0x6220]
add esp, 0x18
call fcn.00458160
mov eax, dword [ebp + 8]
cmp eax, edi
jge 0x428876
neg eax
mov dword [esp + 0x68], eax
mov dword [ebp + 8], edi
jmp 0x428878
jne 0x42888b
push edi
mov ecx, ebx
call fcn.004232b0
test eax, eax
je 0x42888b
mov ecx, ebx
call fcn.004253a0
mov dword [esp + 0x14], edi
nop
mov edx, dword [esp + 0x14]
push edx
mov ecx, ebx
call fcn.0041e830
mov dword [esp + 0x58], eax
cmp eax, 0xa
je 0x4288b9
cmp eax, 0x14
je 0x4288b9
cmp eax, 0x1e
je 0x4288b9
cmp eax, 0x28
je 0x4288b9
cmp eax, 0x32
jne 0x42892a
mov ecx, dword [0x4c08ec]
mov esi, eax
mov eax, dword [ebx + eax*4 + 0x5fa0]
imul esi, esi, 0x3c0
lea edx, [esi + ecx + 0x1dd60]
mov ecx, dword [eax]
push edx
call fcn.00444990
mov ecx, dword [0x4c08ec]
push 0x2c
lea edx, [esi + ecx + 0x1dfd0]
push edi
push edx
call fcn.0045ab70
mov eax, dword [0x4c08ec]
mov ecx, dword [esi + eax + 0x1de14]
add esp, 0xc
push ecx
mov ecx, dword [ebx + 0x6208]
call fcn.0044af60
mov edx, dword [0x4c08ec]
lea edx, [esi + edx + 0x1e040]
jmp 0x428920
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x428920
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x33
mov dword [esp + 0x14], eax
jl 0x428890
cmp dword [esp + 0x68], edi
jne 0x428950
mov ecx, ebx
call fcn.00421e80
lea esp, [esp]
push 0x2024
lea eax, [esp + 0x1f0]
push edi
push eax
call fcn.0045ab70
add esp, 0xc
cmp dword [esp + 0x68], edi
je 0x428c01
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*2]
mov ecx, dword [0x4c08ec]
imul eax, eax, 0x844
mov edx, dword [eax + ecx + 0x3cb74]
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x1ec], edx
xor esi, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], eax
lea edi, [eax + 0x3d398]
nop
mov eax, dword [0x4c08ec]
mov edx, dword [edi + eax]
mov ecx, dword [esp + 0x20]
mov dword [esp + esi*4 + 0x21f0], edx
mov edx, dword [esp + 0x40]
lea ecx, [ecx + eax + 0x3cb78]
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4289d0
add dword [esp + 0x20], 0x104
add dword [esp + 0x40], 0x400
inc esi
add edi, 4
cmp esi, 8
jl 0x4289b0
mov edx, dword [esp + 0x1ec]
inc dword [esp + 0x54]
test edx, edx
jne 0x428c80
cmp dword [esp + 0x21f0], edx
jne 0x431c77
cmp dword [esp + 0x21f4], edx
jne 0x431c77
cmp byte [esp + 0x1f0], dl
jne 0x431c77
cmp dword [ebp + 8], 0
je 0x428a5f
mov ecx, ebx
call fcn.00421970
xor esi, esi
mov edi, ebx
mov edi, edi
cmp byte [edi], 0
je 0x428a53
push 0
lea eax, [esi + 0x13]
push eax
push edi
mov ecx, ebx
call fcn.00422e80
inc esi
add edi, 0x104
cmp esi, 4
jle 0x428a40
mov dword [esp + 0x14], 0
jmp 0x428a70
mov eax, dword [esp + 0x14]
imul eax, eax, 0x10c
cmp dword [esp + eax + 0x3980], 0
mov dword [esp + 0x3c], eax
je 0x43158c
mov edx, dword [esp + 0x14]
push edx
mov ecx, ebx
call fcn.0041e830
mov esi, eax
mov eax, dword [esp + 0x3c]
push 0
lea eax, [esp + eax + 0x3880]
push edx
push eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x24], eax
call fcn.00422f70
cmp esi, 0xa
je 0x428ad2
cmp esi, 0x14
je 0x428ad2
cmp esi, 0x1e
je 0x428ad2
cmp esi, 0x28
je 0x428ad2
cmp esi, 0x32
jne 0x428ae0
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00444a80
test esi, esi
jne 0x431141
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x40f54], esi
je 0x428b73
mov eax, dword [ebx + 0x5fa0]
mov ecx, dword [eax]
push 1
call fcn.00444250
mov eax, dword [ebx + 0x5fa0]
lea ecx, [esp + 0xf8]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x11c]
push edx
call fcn.004444d0
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x428b73
mov esi, dword [esp + 0xf8]
test esi, esi
je 0x428b73
mov eax, 0x6ddd00
cdq
idiv esi
sub esp, 8
mov dword [esp + 0x6c], eax
mov eax, 0xc35000
fild dword [esp + 0x6c]
cdq
idiv ecx
fstp dword [esp + 4]
mov ecx, dword [ebx + 0x5fa0]
mov ecx, dword [ecx]
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
fstp dword [esp]
call fcn.004443c0
push 2
mov ecx, ebx
call fcn.0041f340
cmp dword [str.bgev_so11o], 0
mov dword [esp + 0x30], 0
je 0x431141
mov esi, 0x4b4768
mov edx, dword [esi]
mov eax, edx
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428ba0
sub eax, edi
mov edi, dword [esp + 0x18]
push eax
push edx
push edi
call fcn.0045d494
add esp, 0xc
test eax, eax
jne 0x428be2
mov eax, dword [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428bc1
sub eax, edx
mov edx, eax
mov eax, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428bd1
sub eax, esi
cmp edx, eax
jbe 0x4310d6
mov eax, dword [esp + 0x30]
inc eax
cmp dword [eax*8 + 0x4b4768], 0
lea esi, [eax*8 + 0x4b4768]
mov dword [esp + 0x30], eax
jne 0x428b96
jmp 0x431141
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
lea edx, [esp + 0x1ec]
push edx
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.00438790
cmp dword [esp + 0x88], edi
je 0x428c32
cmp eax, 0xffffffff
je 0x4310c0
mov ecx, dword [esp + 0x40]
cmp ecx, 0xffffffff
je 0x428c5b
cmp ecx, 0x6b
jne 0x428c5b
cmp dword [esp + 0x1ec], 6
je 0x428c5b
cmp dword [ebx + 0x6210], edi
jne 0x428c5b
cmp dword [ebp + 8], edi
je 0x4310a9
mov edx, dword [0x4c08ec]
mov ecx, dword [edx + 0x5674]
mov dword [ebx + 0x5f98], ecx
mov edx, dword [0x4c08ec]
mov dword [edx + 0x5674], eax
mov edx, dword [esp + 0x1ec]
mov esi, dword [ebx + 0x6210]
xor edi, edi
mov dword [esp + 0x40], edx
cmp esi, edi
je 0x428ca4
push edx
mov ecx, ebx
call fcn.004226e0
test eax, eax
je 0x431097
mov dword [esp + 0x40], edx
cmp dword [esp + 0x88], edi
je 0x428db0
cmp edx, 0x6b
je 0x428da8
cmp edx, 0x6a
je 0x428da8
cmp edx, 0xb0
je 0x428db0
mov eax, dword [esp + 0x54]
cmp eax, 0xa
jge 0x428d7f
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov ecx, dword [0x4c08ec]
imul eax, eax, 0x844
mov dword [eax + ecx + 0x41e1c], edx
xor esi, esi
mov dword [esp + 0x2c], eax
add eax, 0x42640
lea edi, [esp + 0x1f0]
mov dword [esp + 0x20], eax
mov edx, dword [esp + esi*4 + 0x21f0]
mov eax, dword [0x4c08ec]
mov ecx, dword [esp + 0x20]
mov dword [ecx + eax], edx
mov eax, edi
lea edx, [eax + 1]
jmp 0x428d30
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428d30
sub eax, edx
cmp eax, 0x104
jae 0x428d5d
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x2c]
mov ecx, edi
lea edx, [eax + edx + 0x41e20]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x428d53
add dword [esp + 0x20], 4
add dword [esp + 0x2c], 0x104
inc esi
add edi, 0x400
cmp esi, 8
jl 0x428d13
inc dword [esp + 0x54]
jmp 0x431097
jne 0x431097
push 0x42000
push 0x48b8d8
push 0x48cb0c
push edi
call dword [0x48b328]
mov dword [esp + 0x54], 0xb
jmp 0x431097
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], edi
cmp edx, 0xb5
ja case.0x428dbc.1
jmp dword [edx*4 + 0x431ca0]
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
cmp dword [esp + 0x21f0], 0xff
jne 0x428e09
mov eax, dword [esp + 0x21f4]
cmp dword [esp + 0x50], eax
je case.0x428dbc.1
cmp eax, 0xa
mov dword [esp + 0x50], eax
jl 0x428dfc
mov dword [esp + 0x50], 9
mov dword [esp + 0x54], 0
jmp case.0x428dbc.1
xor ecx, ecx
cmp dword [esp + 0x88], ecx
sete cl
mov dword [esp + 0x88], ecx
jmp case.0x428dbc.1
mov edi, dword [0x4c08ec]
add edi, 0x40e78
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428e32
sub eax, edx
mov edx, eax
lea eax, [esp + 0x1f0]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428e47
sub eax, esi
add eax, edx
cmp eax, 0x80
jae case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x428e66
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x428e70
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
test esi, esi
jne case.0x428dbc.1
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
mov ecx, dword [0x4c08d4]
push edx
push eax
call fcn.00409e90
test eax, eax
je 0x428ec4
mov dword [esp + 0x34], 1
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x109b2c], 0
je case.0x428dbc.1
mov ecx, dword [ebx + 0x287c]
call fcn.00437810
mov edx, dword [ebx + 0x287c]
mov ecx, dword [0x4c08d4]
push edx
call fcn.0040b6f0
mov eax, dword [0x4c08ec]
mov dword [eax + 0x109b2c], 0
jmp case.0x428dbc.1
mov ecx, dword [0x4c086c]
push 0
push 0
push 2
push ecx
call dword [0x48b304]
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
cmp ecx, 0xfffffffe
jne 0x428f65
push 0x450
lea edx, [esp + 0x2cb0]
push 0
push edx
call fcn.0045ab70
add esp, 0xc
push 2
mov ecx, ebx
call fcn.004224c0
mov eax, dword [0x4c08ec]
mov byte [eax + 0x40cb0], 0
jmp case.0x428dbc.1
cmp ecx, 0xffffffff
jne 0x428fb2
push 0x450
lea ecx, [esp + 0x2638]
push 0
push ecx
call fcn.0045ab70
add esp, 0xc
cmp dword [ebp + 8], 0
jne 0x428fa4
cmp dword [ebx + 0x6210], 0
jne 0x428fa4
cmp dword [ebp + 0xc], 0
jne 0x428fa4
push 1
mov ecx, ebx
call fcn.00422470
jmp case.0x428dbc.1
push 1
mov ecx, ebx
call fcn.004224c0
jmp case.0x428dbc.1
mov esi, 2
lea eax, [esp + 0x273c]
mov edi, edi
cmp dword [eax], 0
je 0x428fd5
inc esi
add eax, 0x114
cmp esi, 5
jle 0x428fc0
jmp case.0x428dbc.1
cmp esi, 5
jg case.0x428dbc.1
cmp dword [ebp + 8], 0
je 0x42902d
test ecx, ecx
je case.0x428dbc.1
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040ca20
imul esi, esi, 0x114
lea edx, [esp + esi + 0x240c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x429005
mov edx, dword [esp + 0x21f4]
mov dword [esp + esi + 0x2510], edx
mov dword [esp + esi + 0x2514], 1
jmp case.0x428dbc.1
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040ca20
imul esi, esi, 0x114
lea edx, [esp + esi + 0x240c]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x429046
mov eax, dword [esp + 0x21f4]
mov dword [esp + esi + 0x2510], eax
mov dword [esp + esi + 0x2514], 1
jmp case.0x428dbc.1
xor esi, esi
cmp dword [esp + 0x21f0], esi
jne 0x429084
mov ecx, dword [0x4c08ec]
call fcn.0040d290
mov eax, dword [0x4c08ec]
cmp byte [eax + 0xc8], 0
lea ecx, [eax + 0xc8]
jne 0x4290ad
mov edx, dword [0x48b908]
mov dword [ecx], edx
mov al, byte [0x48b90c]
mov byte [ecx + 4], al
mov eax, dword [0x4c08ec]
cmp byte [eax + 0xb8], 0
lea ecx, [eax + 0xb8]
jne 0x4290d1
mov edx, dword [0x48b910]
mov dword [ecx], edx
mov al, byte [0x48b914]
mov byte [ecx + 4], al
mov eax, dword [0x4c08ec]
lea ecx, [eax + 0xc8]
lea edx, [eax + 0x40c34]
lea ecx, [ecx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4290e0
mov eax, dword [0x4c08ec]
lea ecx, [eax + 0xb8]
lea edx, [eax + 0x40c48]
jmp 0x429100
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x429100
mov edx, dword [0x4c08ec]
or ecx, 0xffffffff
mov word [edx + 0x19f00], cx
mov eax, dword [0x4c08ec]
mov dword [eax + 0x19efc], esi
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x1b4f0], esi
mov edx, dword [0x4c08ec]
mov dword [edx + 0x1b4f4], esi
mov eax, dword [0x4c08ec]
mov dword [eax + 0x1b4f8], esi
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x1b4fc], esi
mov edx, dword [0x4c08ec]
mov dword [edx + 0x1b500], esi
mov eax, dword [0x4c08ec]
mov dword [eax + 0x1c4ac], esi
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x1c4a8], esi
jmp case.0x428dbc.1
call dword [0x48b3bc]
mov dword [ebx + 0x5d70], eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
xor ecx, ecx
cmp dword [eax + 0x109b58], ecx
jne case.0x428dbc.1
mov dword [esp + 0x40], 6
mov dword [esp + 0x34], 1
cmp dword [eax + 0x40f4c], ecx
je case.0x428dbc.1
mov dword [eax + 0x40f4c], ecx
mov dword [esp + 0x34], ecx
jmp case.0x428dbc.1
test esi, esi
jne case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
cmp eax, 0xff
jne 0x429210
mov dword [ebx + 0x62c], 1
mov dword [esp + 0x40], 0x15
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
cmp eax, 0xfe
jne 0x4292b4
xor ecx, ecx
cmp dword [ebp + 8], ecx
je 0x429295
or eax, 0xffffffff
cmp dword [0x4b333c], eax
jne 0x429235
cmp dword [0x4b3340], eax
je 0x42923b
mov dword [0x4b333c], ecx
cmp dword [0x4b3328], eax
jne 0x42927a
cmp dword [0x4b332c], eax
jne 0x42927a
cmp dword [0x4b3344], eax
jne 0x42925f
cmp dword [0x4b3348], eax
je 0x4292f5
mov dword [0x4b333c], ecx
mov dword [esp + 0x40], 0x15
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov dword [0x4b3328], ecx
mov dword [esp + 0x40], 0x15
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov dword [ebx + 0x630], 1
mov dword [esp + 0x40], 0x15
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov edx, dword [ebx + 0x7cc]
mov dword [ebx + 0x7dc], edx
mov eax, dword [esp + 0x21f0]
imul eax, eax, 0xc8
mov dword [ebx + 0x7d8], eax
cmp dword [esp + 0x21f4], 0
je 0x4292f5
test eax, eax
jne 0x4292eb
mov dword [ebx + 0x7d8], 0xffffffff
mov dword [ebx + 0x7e0], 1
mov dword [esp + 0x40], 0x15
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
cmp dword [esp + 0x21f0], 5
jle 0x429330
push 0x42000
push 0x48b8d8
push 0x48caf8
push 0
call dword [0x48b328]
jmp case.0x428dbc.1
xor eax, eax
jmp 0x429340
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x7564], cl
inc eax
test cl, cl
jne 0x429340
mov esi, dword [esp + 0x21f0]
add esi, 0x25
cmp byte [esp + 0x7564], 0x2d
mov dword [esp + 0x14], esi
jne 0x42939a
cmp byte [esp + 0x7565], cl
jne 0x42939a
mov ecx, dword [0x4c08ec]
lea eax, [esi + esi*2]
shl eax, 4
lea ecx, [eax + ecx + 0x4c28]
lea edx, [esp + 0x7564]
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x429390
push 0
push esi
lea edx, [esp + 0x756c]
push edx
mov ecx, ebx
call fcn.00422e80
jmp case.0x428dbc.1
cmp dword [esp + 0x21f0], 0
jle 0x4294bd
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov dword [esp + 0x14], 0xffffffff
call fcn.00417c60
mov eax, dword [esp + 0x21f0]
dec eax
cmp eax, 0x10
ja case.0x428dbc.1
jmp dword [eax*4 + 0x431f78]
mov esi, 9
jmp 0x42942e
mov esi, 0xc
jmp 0x42942e
mov esi, 0xb
jmp 0x42942e
mov esi, 0xa
jmp 0x42942e
mov esi, 0xd
jmp 0x42942e
mov esi, 0x11
jmp 0x42942e
mov esi, 0x12
jmp 0x42942e
mov esi, 0x13
jmp 0x42942e
mov esi, 0x14
jmp 0x42942e
mov esi, 0x15
cmp dword [ebx + esi*4 + 0x2880], 0
mov dword [esp + 0x14], esi
je 0x42946a
mov eax, dword [ebx + esi*4 + 0x2880]
mov dword [esp + 0x38], eax
test eax, eax
je 0x42945f
mov ecx, eax
call fcn.004043b0
mov eax, dword [esp + 0x38]
push eax
call fcn.0045a680
add esp, 4
mov dword [ebx + esi*4 + 0x2880], 0
push 0x444
call fcn.0045b28d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x7ce0], 0
test eax, eax
je 0x429493
mov ecx, eax
call fcn.00404260
jmp 0x429495
xor eax, eax
push 1
push edi
mov ecx, eax
mov dword [esp + 0x7ce8], 0xffffffff
mov dword [ebx + esi*4 + 0x2880], eax
call fcn.00418f20
mov ecx, edi
call fcn.00413360
jmp case.0x428dbc.1
push 0x400
lea ecx, [ebx + 0x28d8]
push 0
push ecx
call fcn.0045ab70
add esp, 0xc
mov ecx, ebx
call fcn.0041f440
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4294f0
jmp 0x42efd7
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x5674]
mov ecx, dword [ebx + 0x2864]
inc eax
push eax
mov dword [esp + 0x94], 0
call fcn.004381e0
lea edx, [esp + 0x1f0]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x429527
lea eax, [esp + 0x1f0]
lea edx, [eax + 1]
jmp 0x429540
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x429540
mov ecx, dword [0x4c08ec]
sub eax, edx
add eax, 2
add dword [ecx + 0x5674], eax
mov edx, dword [esp + 0x21fc]
mov eax, dword [esp + 0x21f8]
lea ecx, [esp + 0x1f0]
push ecx
mov ecx, dword [esp + 0x21f8]
push edx
mov edx, dword [esp + 0x21f8]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
call fcn.00417ba0
jmp case.0x428dbc.1
mov eax, dword [esp + 0x220c]
cmp eax, 5
jne 0x4295d5
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f8]
imul eax, eax, 0x3e8
add eax, dword [esp + 0x2200]
mov edx, dword [esp + 0x21f4]
push eax
mov eax, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
call fcn.00412ce0
jmp case.0x428dbc.1
cmp eax, 6
jne 0x4295de
push 0
jmp 0x4295ee
cmp eax, 8
jne 0x4295e7
push 1
jmp 0x4295ee
cmp eax, 0xa
jne 0x42963f
push 2
mov eax, dword [esp + 0x2200]
mov ecx, dword [esp + 0x2208]
mov edx, dword [esp + 0x2204]
add ecx, eax
push ecx
mov ecx, dword [esp + 0x2200]
add edx, ecx
push edx
mov edx, dword [esp + 0x2200]
push eax
mov eax, dword [esp + 0x2218]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
mov eax, dword [esp + 0x2204]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
call fcn.004198a0
jmp case.0x428dbc.1
cmp eax, 0xb
jne 0x429699
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x2204]
mov edx, dword [esp + 0x2200]
push 0
push 3
add ecx, eax
push ecx
mov ecx, dword [esp + 0x2204]
add edx, ecx
push edx
mov edx, dword [esp + 0x2204]
push eax
mov eax, dword [esp + 0x221c]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
mov eax, dword [esp + 0x2208]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
call fcn.00419860
jmp case.0x428dbc.1
cmp eax, 0xc
jne 0x4296c4
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.00414360
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x2204]
push ecx
mov ecx, dword [esp + 0x21fc]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x2208]
add edx, eax
push edx
mov edx, dword [esp + 0x2210]
add edx, ecx
push edx
mov edx, dword [esp + 0x2208]
push eax
mov eax, dword [esp + 0x2220]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
mov eax, dword [esp + 0x220c]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
call fcn.00418390
jmp case.0x428dbc.1
cmp dword [esp + 0x21fc], 0
jne case.0x428dbc.1
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.00412f20
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x21f4]
push 0
push 0x14
push ecx
mov ecx, dword [esp + 0x21fc]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.00412e00
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
mov ecx, dword [esp + 0x1c]
push edx
push eax
call fcn.00412d40
jmp case.0x428dbc.1
push 0
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00412d70
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x1c]
push 1
lea edx, [esp + 0x1f4]
push edx
call fcn.00412d70
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
inc dword [eax + 0x5674]
mov ecx, dword [0x4c08ec]
mov eax, dword [esp + 0x21fc]
mov edx, dword [ecx + 0x5674]
mov ecx, dword [ebx + 0x2864]
push 0
push eax
push edx
call fcn.004381e0
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
push eax
mov eax, dword [esp + 0x2204]
push eax
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.004198f0
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x429840
mov ecx, dword [0x4c08ec]
sub eax, edx
inc eax
add dword [ecx + 0x5674], eax
jmp case.0x428dbc.1
cmp dword [esp + 0x21f0], 0
jne case.0x428dbc.1
xor edx, edx
cmp dword [esp + 0x90], edx
sete dl
mov dword [esp + 0x90], edx
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
inc ecx
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
lea edx, [esp + 0x5f0]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x4298a0
lea edx, [esp + 0x5f0]
push edx
call fcn.004076b0
mov eax, dword [ebx + 0x3cf8]
add esp, 4
push eax
lea ecx, [esp + 0x5f4]
push ecx
mov ecx, dword [ebx + 0x2878]
lea edx, [esp + 0x1f8]
push edx
call fcn.00414bd0
inc dword [ebx + 0x3cf8]
lea eax, [esp + 0x5f0]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4298f0
jmp 0x42efd7
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
inc ecx
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x429917
jmp 0x42efd7
test esi, esi
jne case.0x428dbc.1
mov ecx, dword [ebx + 0x286c]
call fcn.00417c60
mov ecx, dword [ebx + 0x2870]
call fcn.00417c60
mov ecx, dword [ebx + 0x2874]
call fcn.00417c60
mov ecx, dword [ebx + 0x287c]
call fcn.00437810
mov ecx, dword [ebx + 0x2874]
push esi
push 0x500
call fcn.00412db0
mov ecx, dword [ebx + 0x2870]
push esi
push 0xfffffb00
call fcn.00412db0
mov dword [esp + 0x40], 0xb
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov edx, dword [0x4c08ec]
mov eax, 1
mov dword [edx + 0x97f30], eax
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x40f4c], eax
mov dword [ebx + 0x3cf8], 0
mov edx, dword [ebx + 0x28ac]
mov ecx, dword [ebx + 0x2878]
push edx
call fcn.00418c50
jmp case.0x428dbc.1
xor esi, esi
cmp dword [ebx + 0x5d40], esi
je 0x429aa1
mov eax, dword [0x4c08ec]
mov dword [eax + 0x97f30], esi
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x40f4c], esi
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x19efc]
mov edx, dword [eax + 0x1b4e8]
lea esi, [ecx + 0x1da5]
lea edi, [esi*8]
sub edi, esi
movzx esi, word [eax + edi*2]
cmp esi, edx
jne case.0x428dbc.1
lea esi, [ecx*8]
sub esi, ecx
movzx ecx, word [eax + esi*2 + 0x19f12]
movzx eax, cx
cmp eax, edx
jle case.0x428dbc.1
mov edx, dword [ebx + 0x2868]
cmp dword [edx], eax
jl case.0x428dbc.1
cmp cx, 1
jbe case.0x428dbc.1
push eax
mov ecx, ebx
call fcn.0041fcd0
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x19efc]
lea edx, [ecx*8]
sub edx, ecx
movzx ecx, word [eax + edx*2 + 0x19f12]
mov dword [eax + 0x1b4e8], ecx
mov eax, dword [0x4c08ec]
mov edx, dword [ebx + 0x2868]
mov ecx, dword [eax + 0x1b4e8]
cmp ecx, dword [edx]
jl case.0x428dbc.1
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x6c], esi
je 0x429acf
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x429acf
mov dword [ebx + 0x2cdc], esi
mov edx, dword [0x4c08ec]
mov dword [edx + 0x109b34], esi
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x70], esi
je 0x429ae2
cmp dword [edx + 0x10], esi
je 0x429ae2
mov dword [edx + 0x10], esi
mov edx, dword [0x4c08ec]
cmp dword [ebp + 8], esi
jne 0x429c4c
cmp dword [ebx + 0x3d00], esi
jne 0x429c4c
cmp dword [esp + 0x21f0], esi
jne case.0x428dbc.1
cmp dword [ebx + 0x2884], esi
je 0x429b3f
mov ecx, dword [ebx + 0x2884]
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov eax, dword [0x4c08ec]
add eax, 0x40e54
cmp eax, esi
je 0x429b3f
mov ecx, dword [ebx + 0x2884]
push eax
call fcn.00414740
mov ecx, eax
call fcn.00442430
cmp dword [ebx + 0x2880], esi
je 0x429b85
mov ecx, dword [ebx + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00440880
mov ecx, dword [0x4c08ec]
lea eax, [ecx + 0x40f58]
cmp eax, esi
je 0x429b6c
push eax
jmp 0x429b73
add ecx, 0x40d50
push ecx
mov ecx, dword [ebx + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00442430
mov edi, 1
mov dword [ebx + 0x3d0c], edi
mov ecx, dword [ebx + 0x2878]
call fcn.00419950
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x109b48], esi
je 0x429bba
mov ecx, dword [ebx + 0x3cf8]
push ecx
mov ecx, dword [ebx + 0x2878]
call fcn.004148b0
cmp dword [ebx + 0x28a4], esi
je case.0x428dbc.1
mov ecx, dword [ebx + 0x28a4]
call fcn.00419f30
mov ecx, dword [ebx + 0x28a8]
call fcn.00419f30
mov edx, dword [ebx + 0x2878]
mov ecx, dword [ebx + 0x28a4]
push esi
push edx
call fcn.00418f20
mov eax, dword [ebx + 0x2878]
mov ecx, dword [ebx + 0x28a8]
push esi
push eax
call fcn.00418f20
cmp dword [ebx + 0x5d44], esi
je 0x429c30
mov ecx, dword [ebx + 0x28cc]
push esi
push ecx
mov ecx, dword [ebx + 0x28a4]
call fcn.00418f20
mov edx, dword [ebx + 0x28cc]
mov ecx, dword [ebx + 0x28a8]
push esi
push edx
call fcn.00418f20
mov eax, dword [0x4c08ec]
mov dword [eax + 0x40f38], edi
mov dword [esp + 0x40], 6
mov dword [esp + 0x34], edi
jmp case.0x428dbc.1
mov eax, dword [edx + 0x1b4f0]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + edx + 0x1b508]
inc eax
push ecx
mov ecx, ebx
mov dword [edx + 0x1b4f0], eax
call fcn.0041fc90
mov edx, dword [0x4c08ec]
mov dword [edx + 0x40f4c], esi
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x286c]
call fcn.00417c60
mov ecx, dword [ebx + 0x2870]
call fcn.00417c60
mov ecx, dword [ebx + 0x2874]
call fcn.00417c60
mov ecx, dword [ebx + 0x287c]
call fcn.00437810
mov ecx, dword [ebx + 0x2874]
push 0
push 0x500
call fcn.00412db0
mov ecx, dword [ebx + 0x2870]
push 0
push 0xfffffb00
call fcn.00412db0
cmp dword [esp + 0x21f0], 0
je case.0x428dbc.1
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x287c]
push esi
call fcn.00435b70
mov ecx, esi
call fcn.00413360
mov ecx, dword [ebx + 0x287c]
call fcn.00437810
jmp case.0x428dbc.1
mov eax, dword [esp + 0x220c]
mov ecx, dword [esp + 0x2208]
mov edx, dword [esp + 0x2204]
push eax
mov eax, dword [esp + 0x2204]
push ecx
mov ecx, dword [esp + 0x2204]
push edx
mov edx, dword [esp + 0x2204]
push eax
mov eax, dword [esp + 0x2204]
push ecx
mov ecx, dword [esp + 0x2204]
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x287c]
call fcn.00437750
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x287c]
push edx
push eax
call fcn.00435b50
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x21f4]
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x287c]
call fcn.004379b0
jmp case.0x428dbc.1
mov edx, dword [esp + 0x2204]
mov eax, dword [esp + 0x2200]
mov ecx, dword [esp + 0x21fc]
push 0
push edx
mov edx, dword [esp + 0x2200]
push eax
mov eax, dword [esp + 0x2214]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
push edx
mov edx, dword [esp + 0x2204]
push ecx
mov ecx, dword [ebx + 0x287c]
push edx
call fcn.00437a00
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x287c]
lea eax, [esp + 0x1f0]
push eax
call fcn.004359f0
jmp case.0x428dbc.1
cmp dword [esp + 0x21fc], 0x63
jne 0x429e21
mov ecx, dword [esp + 0x21f0]
mov dword [esp + 0x9c], ecx
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
inc dword [eax + 0x5674]
mov edx, dword [esp + 0x21fc]
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
push edx
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x21f8]
push eax
mov eax, dword [esp + 0x2200]
push edx
mov edx, dword [esp + 0x21fc]
push eax
push ecx
mov ecx, dword [ebx + 0x287c]
push edx
call fcn.00435ab0
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x429e91
mov ecx, dword [0x4c08ec]
sub eax, edx
inc eax
add dword [ecx + 0x5674], eax
jmp case.0x428dbc.1
mov eax, dword [esp + 0x220c]
cmp eax, 0xffffffff
jne 0x429f0b
mov eax, dword [esp + 0x21fc]
mov edx, dword [esp + 0x2204]
mov ecx, dword [esp + 0x21f8]
add edx, eax
push edx
mov edx, dword [esp + 0x2204]
add edx, ecx
push edx
mov edx, dword [esp + 0x21fc]
push eax
mov eax, dword [esp + 0x2214]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
mov eax, dword [esp + 0x2200]
push ecx
mov ecx, dword [ebx + 0x287c]
push edx
push eax
call fcn.00435ba0
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x2204]
mov edx, dword [esp + 0x2200]
push eax
mov eax, dword [esp + 0x2200]
add ecx, eax
push ecx
mov ecx, dword [esp + 0x2200]
add edx, ecx
push edx
mov edx, dword [esp + 0x2200]
push eax
mov eax, dword [esp + 0x2218]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
mov eax, dword [esp + 0x2204]
push ecx
mov ecx, dword [ebx + 0x287c]
push edx
push eax
call fcn.00437ae0
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x220c]
mov edx, dword [esp + 0x2204]
push ecx
mov ecx, dword [esp + 0x21fc]
add edx, eax
push edx
mov edx, dword [esp + 0x2208]
add edx, ecx
push edx
mov edx, dword [esp + 0x2200]
push eax
mov eax, dword [esp + 0x2218]
push ecx
mov ecx, dword [ebx + eax*4 + 0x634]
mov eax, dword [esp + 0x2204]
push ecx
mov ecx, dword [ebx + 0x287c]
push edx
push eax
call fcn.00435a10
jmp case.0x428dbc.1
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.00417c60
mov ecx, dword [ebx + 0x287c]
push esi
call fcn.00435b70
mov ecx, esi
call fcn.00413360
mov ecx, dword [ebx + 0x287c]
call fcn.00437810
mov dword [esp + 0x40], 0xc
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
xor edi, edi
cmp esi, edi
je 0x42a019
cmp dword [esp + 0x21f0], 2
jne case.0x428dbc.1
push edi
mov ecx, ebx
call fcn.00425d20
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
cmp eax, 3
jne 0x42a088
mov eax, dword [ebx + 0x6e4]
cmp eax, edi
je 0x42a03b
mov ecx, dword [ebx + 0x6208]
push eax
call fcn.0044bf60
mov ecx, dword [0x4c08dc]
push 0xff
push 0xff
push 0xff
call fcn.00407820
mov dword [ebx + 0x6e4], eax
mov ecx, dword [0x4c08dc]
push eax
call fcn.00407810
mov ecx, dword [0x4c08dc]
push 5
push 6
call fcn.00407780
mov ecx, dword [esp + 0x21f4]
mov dword [ebx + 0x3cfc], ecx
jmp case.0x428dbc.1
cmp eax, 4
jne 0x42a1bd
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
cmp dword [esp + 0x3a8c], edi
je 0x42a0e1
mov edx, dword [ebx + 0x5f94]
imul edx, edx, 0x34
mov dword [edx + ebx + 0x5d90], 0x22
mov eax, dword [ebx + 0x5f94]
imul eax, eax, 0x34
mov dword [eax + ebx + 0x5d94], edi
inc dword [ebx + 0x5f94]
jmp case.0x428dbc.1
mov edi, 0x40
lea esi, [ebx + 0x5fa0]
mov dword [esp + 0x14], edi
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.0044a730
mov ecx, dword [esi]
mov ecx, dword [ecx]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x28]
push eax
call fcn.004442c0
fld dword [esp + 0x28]
mov edx, dword [esi]
mov ecx, dword [edx]
push 0xffffffffffffffff
push 0
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fadd qword [0x48caf0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [eax]
push 0xffffffffffffffff
push 0
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push 0
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fsub qword [0x48caf0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov edx, dword [esi]
mov ecx, dword [edx]
push 0xffffffffffffffff
push 0
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
add esi, 4
sub edi, 1
jne 0x42a0f0
jmp case.0x428dbc.1
cmp eax, 5
jne 0x42a1ce
mov ecx, ebx
call fcn.00422810
jmp case.0x428dbc.1
cmp eax, 6
jne 0x42a303
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
cmp dword [esp + 0x3a8c], edi
je 0x42a227
mov eax, dword [ebx + 0x5f94]
imul eax, eax, 0x34
mov dword [eax + ebx + 0x5d90], 0x23
mov ecx, dword [ebx + 0x5f94]
imul ecx, ecx, 0x34
mov dword [ecx + ebx + 0x5d94], edi
inc dword [ebx + 0x5f94]
jmp case.0x428dbc.1
mov edi, 0x40
lea esi, [ebx + 0x5fa0]
mov dword [esp + 0x14], edi
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.0044a730
mov edx, dword [esi]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edx]
call fcn.004442c0
fld dword [esp + 0x28]
fadd qword [0x48caf0]
mov eax, dword [esi]
mov ecx, dword [eax]
push 0xffffffffffffffff
push 0
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push 0
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov edx, dword [esi]
fsub qword [0x48caf0]
mov ecx, dword [edx]
push 0xffffffffffffffff
push 0
fstp dword [esp + 0x20]
push 0xa
fld dword [esp + 0x24]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [eax]
push 0xffffffffffffffff
push 0
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
add esi, 4
sub edi, 1
jne 0x42a236
jmp case.0x428dbc.1
cmp eax, 7
je case.0x428dbc.1
cmp eax, 9
jne 0x42a36c
cmp dword [esp + 0x3a8c], edi
je 0x42a333
push edi
push 1
lea ecx, [esp + 0x3990]
push ecx
mov ecx, ebx
call fcn.00422f70
mov dword [esp + 0x3a8c], edi
mov ecx, dword [ebx + 0x6208]
call fcn.0044a990
push 1
mov ecx, ebx
call fcn.00422840
mov ecx, dword [ebx + 0x6208]
push edi
call fcn.0044c730
mov dword [ebx + 0x6e8], eax
mov edx, dword [ebx + 0x5fa0]
mov ecx, dword [edx]
push eax
call fcn.004440c0
jmp case.0x428dbc.1
cmp eax, 0xa
je case.0x428dbc.1
cmp eax, 0xb
je case.0x428dbc.1
cmp eax, 0xd
je case.0x428dbc.1
cmp eax, 0xe
je case.0x428dbc.1
cmp eax, 0xf
jne 0x42a40a
cmp dword [ebp + 0xc], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x42a3bf
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
push edi
push 0x2d
push str.systemeffbreak
mov ecx, ebx
call fcn.00422e80
mov ecx, ebx
call fcn.00422810
mov eax, dword [ebx + 0x6e4]
mov ecx, dword [0x4c08dc]
push eax
call fcn.00407810
mov ecx, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x6e8]
push 0x3c
push ecx
mov ecx, dword [0x4c08dc]
push 5
push edx
call fcn.00407b20
jmp case.0x428dbc.1
cmp eax, 0x10
jne 0x42a497
cmp dword [ebp + 0xc], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x42a43d
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
push edi
push 0x2d
push str.systemeffbreak
mov ecx, ebx
call fcn.00422e80
mov ecx, ebx
call fcn.00422810
mov eax, dword [ebx + 0x6e4]
mov ecx, dword [0x4c08dc]
push eax
call fcn.00407810
mov ecx, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x6e8]
push 0x3c
push ecx
mov ecx, dword [0x4c08dc]
push 4
push edx
call fcn.00407b20
mov ecx, ebx
call fcn.0041f440
push edi
mov ecx, ebx
call fcn.00425d20
jmp case.0x428dbc.1
cmp eax, 0x11
jne 0x42a50f
cmp dword [ebp + 0xc], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x42a4c6
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
cmp dword [esp + 0x21f4], 1
push edi
mov ecx, ebx
push 0x15
jne 0x42a4dc
push str.MSKMASK11A
jmp 0x42a4e1
push str.MSKMASK04A
call fcn.00422f70
mov ecx, ebx
call fcn.00422810
mov eax, dword [ebx + 0x6e4]
mov ecx, dword [0x4c08dc]
push eax
call fcn.00407810
mov ecx, dword [ebx + 0x688]
push 0x3c
push 3
push ecx
jmp 0x42a5f9
cmp eax, 0x14
jne 0x42a574
cmp dword [ebp + 0xc], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x42a53e
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00422810
mov edx, dword [ebx + 0x6e4]
mov ecx, dword [0x4c08dc]
push edx
call fcn.00407810
mov eax, dword [esp + 0x21f4]
mov ecx, dword [ebx + 0x688]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
push eax
push 2
push ecx
jmp 0x42a5f9
cmp eax, 0x15
jne 0x42a610
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
cmp dword [ebp + 0xc], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x42a5c8
call fcn.00421e40
test eax, eax
je 0x42a5c8
mov ecx, dword [0x4c08ec]
push 0x63
push 9
call fcn.0040ccd0
test eax, eax
jne 0x42a5c8
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x109b3c], edi
je case.0x428dbc.1
mov ecx, ebx
call fcn.00422810
mov eax, dword [ebx + 0x6e4]
mov ecx, dword [0x4c08dc]
push eax
call fcn.00407810
mov eax, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x688]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
push ecx
push 3
push edx
mov ecx, dword [0x4c08dc]
call fcn.00407860
mov ecx, ebx
call fcn.0041f440
jmp case.0x428dbc.1
cmp eax, 0x17
je case.0x428dbc.1
cmp eax, 0x18
je case.0x428dbc.1
cmp eax, 0x19
je case.0x428dbc.1
cmp eax, 0x1e
je case.0x428dbc.1
cmp eax, 0x1f
je case.0x428dbc.1
cmp eax, 0x20
je case.0x428dbc.1
cmp eax, 0x33
jne 0x42a796
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
lea esi, [eax + 0xa]
mov al, byte [esp + 0x21f4]
test al, 1
je 0x42a67a
cmp esi, 0xa
je 0x42a6a6
test al, 2
je 0x42a683
cmp esi, 0x14
je 0x42a6a6
test al, 4
je 0x42a68c
cmp esi, 0x1e
je 0x42a6a6
test al, 8
je 0x42a695
cmp esi, 0x28
je 0x42a6a6
test al, 0x10
je 0x42a783
cmp esi, 0x32
jne 0x42a783
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.0044a730
mov eax, dword [ebx + esi*4 + 0x5fa0]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
call fcn.004442c0
fld dword [esp + 0x28]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push edi
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fadd qword [0x48caf0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
push 0xffffffffffffffff
push edi
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
push 0xffffffffffffffff
push edi
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fadd qword [0x48caf0]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push edi
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
mov al, byte [esp + 0x21f4]
inc esi
cmp esi, 0x2a
jle 0x42a671
mov dword [esp + 0x14], esi
jmp case.0x428dbc.1
cmp eax, 0x34
jne 0x42a8e6
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
lea esi, [eax + 0xa]
mov al, byte [esp + 0x21f4]
test al, 1
je 0x42a7ca
cmp esi, 0xa
je 0x42a7f6
test al, 2
je 0x42a7d3
cmp esi, 0x14
je 0x42a7f6
test al, 4
je 0x42a7dc
cmp esi, 0x1e
je 0x42a7f6
test al, 8
je 0x42a7e5
cmp esi, 0x28
je 0x42a7f6
test al, 0x10
je 0x42a8d3
cmp esi, 0x32
jne 0x42a8d3
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
call fcn.0044a730
mov edx, dword [ebx + esi*4 + 0x5fa0]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edx]
call fcn.004442c0
fld dword [esp + 0x28]
fadd qword [0x48caf0]
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
push 0xffffffffffffffff
push edi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push edi
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov edx, dword [ebx + esi*4 + 0x5fa0]
fsub qword [0x48caf0]
mov ecx, dword [edx]
push 0xffffffffffffffff
push edi
fstp dword [esp + 0x20]
push 0xa
fld dword [esp + 0x24]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
fld dword [esp + 0x28]
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
push 0xffffffffffffffff
push edi
push 0xa
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.0041de40
mov al, byte [esp + 0x21f4]
inc esi
cmp esi, 0x34
jle 0x42a7c1
mov dword [esp + 0x14], esi
jmp case.0x428dbc.1
cmp dword [ebp + 0xc], edi
je 0x42a901
cmp eax, 2
jne case.0x428dbc.1
push edi
mov ecx, ebx
call fcn.00425d20
jmp case.0x428dbc.1
mov ecx, ebx
call fcn.00422810
mov ecx, dword [ebx + 0x6e4]
push ecx
mov ecx, dword [0x4c08dc]
call fcn.00407810
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x42a968
cmp dword [ebp + 8], edi
jne 0x42a946
call fcn.00421e40
test eax, eax
je 0x42a968
mov ecx, dword [0x4c08ec]
push 0x63
push 9
call fcn.0040ccd0
test eax, eax
jne 0x42a968
cmp dword [esp + 0x21f0], 2
jne case.0x428dbc.1
push edi
mov ecx, ebx
call fcn.00425d20
mov ecx, ebx
call fcn.00423200
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
cmp eax, 2
jne 0x42a99b
mov eax, dword [esp + 0x21f4]
lea eax, [eax + eax*4 + 5]
add eax, eax
add eax, eax
push eax
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.00425ff0
mov ecx, ebx
call fcn.0041f440
jmp case.0x428dbc.1
cmp eax, 1
jg case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
mov ecx, dword [0x4c08ec]
lea eax, [eax + eax*4 + 5]
add eax, eax
add eax, eax
push eax
call fcn.0040e1e0
mov ecx, dword [0x4c08dc]
push eax
push 1
call fcn.00407780
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x5fb8]
push edx
call fcn.0040ef90
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x5fec]
push eax
call fcn.0040ef90
mov ecx, dword [esp + 0x21f0]
push ecx
mov ecx, dword [ebx + 0x6014]
call fcn.0040ef90
mov edx, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x603c]
push edx
call fcn.0040ef90
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x608c]
push eax
call fcn.0040ef90
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x21f4]
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x5fb8]
call fcn.0040ef50
mov edx, dword [esp + 0x21fc]
mov eax, dword [esp + 0x21f8]
mov ecx, dword [esp + 0x21f4]
push edx
mov edx, dword [esp + 0x21f4]
push eax
push ecx
mov ecx, dword [ebx + 0x5fec]
push edx
call fcn.0040ef50
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
push eax
mov eax, dword [esp + 0x21f4]
push ecx
mov ecx, dword [ebx + 0x6014]
push edx
push eax
call fcn.0040ef50
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x21f4]
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x603c]
call fcn.0040ef50
mov edx, dword [esp + 0x21fc]
mov eax, dword [esp + 0x21f8]
mov ecx, dword [esp + 0x21f4]
push edx
mov edx, dword [esp + 0x21f4]
push eax
push ecx
mov ecx, dword [ebx + 0x608c]
push edx
call fcn.0040ef50
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
cmp eax, 7
jne 0x42ab64
xor esi, esi
cmp dword [esp + 0x21f4], esi
jne 0x42ab4f
push esi
push 0x1a
push 0x48c94c
mov ecx, ebx
call fcn.00422f70
mov eax, dword [0x4c08ec]
mov dword [esp + 0x54b8], esi
mov dword [eax + 0x40c80], esi
jmp case.0x428dbc.1
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x40c80], 1
jmp case.0x428dbc.1
cmp eax, 0x10
jne 0x42abaa
cmp dword [esp + 0x21f4], 0
mov ecx, ebx
jne 0x42ab8f
call fcn.004252c0
mov edx, dword [0x4c08ec]
mov dword [edx + 0x40c94], 0
jmp case.0x428dbc.1
push 0
call fcn.00421b30
mov eax, dword [0x4c08ec]
mov dword [eax + 0x40c94], 1
jmp case.0x428dbc.1
xor esi, esi
cmp dword [esp + 0x56d0], esi
je 0x42abd5
push esi
push 0x1c
lea ecx, [esp + 0x55d4]
push ecx
mov ecx, ebx
call fcn.00422f70
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x56d0], esi
cmp dword [esp + 0x57dc], esi
je 0x42abfe
push esi
push 0x1d
lea edx, [esp + 0x56e0]
push edx
mov ecx, ebx
call fcn.00422f70
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x57dc], esi
mov dword [esp + 0x14], esi
cmp eax, esi
jne 0x42ac13
push esi
mov ecx, ebx
call fcn.00425d20
jmp 0x42acdd
cmp eax, 2
jne 0x42ac35
mov eax, dword [0x4c08ec]
mov ecx, dword [esp + 0x21f4]
mov dword [eax + 0x40c8c], ecx
mov esi, dword [ebx + 0x6a8]
jmp 0x42acd9
cmp eax, 0xd
jne 0x42ac5e
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x21f4]
push esi
push 0x1c
push str.systemeffyousei
mov ecx, ebx
mov dword [edx + 0x40c90], eax
call fcn.00422f70
jmp 0x42acd3
cmp eax, 0x11
jne 0x42ac87
mov ecx, dword [0x4c08ec]
mov edx, dword [esp + 0x21f4]
push esi
push 0x1c
mov dword [ecx + 0x40c90], edx
push str.systemeffhotaru
mov ecx, ebx
call fcn.00422f70
jmp 0x42acd3
cmp eax, 0xf
jne 0x42acb5
mov ecx, dword [esp + 0x21f4]
mov eax, dword [0x4c08ec]
push esi
push 0x1e
mov dword [eax + 0x40c98], ecx
push str.systemefflens
mov ecx, ebx
call fcn.00422f70
mov esi, dword [ebx + 0x6ac]
jmp 0x42acd9
mov edx, dword [0x4c08ec]
mov dword [edx + 0x40c84], eax
mov eax, dword [0x4c08ec]
mov ecx, dword [esp + 0x21f4]
mov dword [eax + 0x40c88], ecx
mov esi, dword [ebx + 0x6a4]
mov dword [esp + 0x14], esi
mov ecx, dword [esp + 0x21f4]
cmp ecx, 0x64
jl 0x42ad26
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov edx, ecx
sub edx, eax
mov eax, 0x99999999
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x42ad38
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x21f4]
add edx, edx
push esi
sub ecx, edx
push ecx
push eax
mov ecx, ebx
call fcn.0041f490
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
test eax, eax
jne 0x42ad7d
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
push ecx
push edx
push eax
jmp 0x430ecf
cmp eax, 1
jne 0x42adaa
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
push ecx
mov ecx, dword [0x4c08ec]
push edx
push eax
call fcn.0040eb30
jmp case.0x428dbc.1
cmp eax, 2
jne case.0x428dbc.1
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
push ecx
mov ecx, dword [0x4c08ec]
push edx
push eax
call fcn.0040eb60
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x21f4]
push edx
push eax
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040eb90
jmp case.0x428dbc.1
mov edx, dword [0x4c08ec]
mov dword [esp + 0x21fc], 0
mov eax, dword [edx + 0x5674]
mov ecx, dword [ebx + 0x2864]
push eax
call fcn.004381e0
movsx eax, byte [eax]
mov dword [esp + 0x21f8], eax
cmp eax, 2
je 0x42af01
mov esi, 9
jmp 0x42ae50
mov ecx, dword [0x4c08ec]
mov edx, dword [ecx + 0x5674]
mov ecx, dword [ebx + 0x2864]
inc edx
push edx
call fcn.004381e0
mov ecx, dword [ebx + 0x2864]
push eax
call fcn.00438400
mov dword [esp + 0x2200], eax
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
add ecx, 3
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
mov ecx, dword [ebx + 0x2864]
push eax
call fcn.00438400
mov dword [esp + 0x2204], eax
mov eax, dword [0x4c08ec]
add dword [eax + 0x5674], esi
mov edx, dword [esp + 0x2204]
mov eax, dword [esp + 0x2200]
mov ecx, dword [0x4c08ec]
push edx
push eax
call fcn.0040ccd0
mov ecx, dword [0x4c08ec]
add dword [esp + 0x21fc], eax
mov edx, dword [ecx + 0x5674]
mov ecx, dword [ebx + 0x2864]
push edx
call fcn.004381e0
movsx eax, byte [eax]
mov dword [esp + 0x21f8], eax
cmp eax, 2
jne 0x42ae50
mov eax, dword [esp + 0x21fc]
push eax
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
push ecx
push edx
jmp 0x430ecf
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f8]
push eax
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040ccd0
mov edx, dword [esp + 0x21f4]
mov ecx, dword [0x4c08ec]
mov esi, eax
mov eax, dword [esp + 0x21f0]
push edx
push eax
call fcn.0040ccd0
add esi, eax
push esi
jmp 0x42af09
cmp dword [ebp + 8], 0
jne 0x42afb1
cmp dword [ebx + 0x3d00], 0
jne 0x42afb1
push 0
mov ecx, ebx
call fcn.00422470
cmp dword [esp + 0x21f4], 0xff
jne 0x42af95
mov eax, dword [esp + 0x2200]
mov ecx, dword [0x4c08f4]
push eax
push 0
call fcn.0043c3f0
push 0x114
lea ecx, [esp + 0x2410]
push 0
push ecx
call fcn.0045ab70
add esp, 0xc
jmp case.0x428dbc.1
push 0
mov ecx, ebx
call fcn.004224c0
push 0x114
lea edx, [esp + 0x2410]
push 0
push edx
call fcn.0045ab70
mov eax, dword [0x4c08ec]
mov byte [eax + 0x55b8], 0
mov ecx, dword [0x4c08ec]
add esp, 0xc
mov dword [ecx + 0x55d8], 0
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
mov ecx, dword [0x4c08ec]
push edx
push eax
call fcn.0040ccd0
mov ecx, dword [esp + 0x21fc]
mov esi, eax
mov eax, dword [esp + 0x21f8]
mov dword [esp + 0x21f0], esi
test cl, cl
jns 0x42b05f
and ecx, 0x7f
mov dword [esp + 0x21fc], ecx
mov ecx, eax
and ecx, 0xff
push ecx
mov ecx, dword [0x4c08ec]
sar eax, 8
push eax
call fcn.0040ccd0
mov ecx, dword [esp + 0x21fc]
mov esi, dword [esp + 0x21f0]
mov dword [esp + 0x21f8], eax
test ecx, ecx
jne 0x42b073
xor edx, edx
cmp esi, eax
sete dl
mov dword [esp + 0x21f0], edx
jmp 0x42b0cc
cmp ecx, 1
jne 0x42b081
xor ecx, ecx
cmp esi, eax
setne cl
jmp 0x42b0c5
cmp ecx, 2
jne 0x42b096
xor edx, edx
cmp esi, eax
setg dl
mov dword [esp + 0x21f0], edx
jmp 0x42b0cc
cmp ecx, 3
jne 0x42b0a4
xor ecx, ecx
cmp esi, eax
setl cl
jmp 0x42b0c5
cmp ecx, 4
jne 0x42b0b9
xor edx, edx
cmp esi, eax
setge dl
mov dword [esp + 0x21f0], edx
jmp 0x42b0cc
cmp ecx, 5
jne 0x42b0cc
xor ecx, ecx
cmp esi, eax
setle cl
mov dword [esp + 0x21f0], ecx
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x5674]
mov ecx, dword [ebx + 0x2864]
inc eax
push eax
call fcn.004381e0
movsx ecx, byte [eax]
mov eax, dword [0x4c08ec]
mov dword [esp + 0x21fc], ecx
add dword [eax + 0x5674], 3
cmp dword [esp + 0x21f0], 0
jne case.0x428dbc.1
mov edx, dword [esp + 0x21fc]
jmp 0x42b127
cmp dword [esp + 0x21f0], 0
jne case.0x428dbc.1
mov edx, dword [esp + 0x21f4]
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
push edx
push ecx
mov ecx, dword [ebx + 0x2864]
lea edx, [esp + 0x1f8]
push edx
call fcn.004385a0
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x5674], eax
jmp case.0x428dbc.1
push 0x400
xor esi, esi
lea edx, [ebx + 0x28d8]
push esi
push edx
call fcn.0045ab70
add esp, 0xc
cmp byte [esp + 0x1f0], 0x3a
jne 0x42b190
mov al, byte [esp + 0x1f1]
cmp al, 0x6e
je 0x42b2cf
cmp al, 0x72
je 0x42b2ef
mov ecx, ebx
call fcn.00425db0
cmp byte [esp + 0x1f0], 0x2d
jne 0x42b263
cmp byte [esp + 0x1f1], 0x2d
jne 0x42b263
mov ecx, dword [0x4c08ec]
add ecx, 0xb2c20
lea edx, [esp + 0x7564]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42b1c6
mov eax, dword [0x4c08ec]
add eax, 0xb2c20
cmp byte [eax], 0
je 0x42b400
push esi
push 1
push eax
mov ecx, ebx
call fcn.00422e80
push 1
mov ecx, ebx
call fcn.0041e830
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x42b251
mov edx, dword [0x4c08ec]
mov ecx, eax
mov eax, dword [ebx + eax*4 + 0x5fa0]
imul ecx, ecx, 0x3c0
push 0xffffffffffffffff
lea esi, [ecx + edx + 0xcb968]
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.00447f40
mov eax, dword [ebx + 0x638]
test eax, eax
je 0x42b251
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
push eax
call fcn.004440c0
mov dword [esp + 0x3a8c], 0
xor esi, esi
jmp 0x42b400
xor eax, eax
jmp 0x42b270
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x7564], cl
inc eax
test cl, cl
jne 0x42b270
mov eax, dword [ebx + 0x5fa0]
jmp 0x42b3f9
mov edx, dword [0x4c08ec]
mov dword [edx + 0x40f54], 1
jmp case.0x428dbc.1
push 0x400
xor esi, esi
lea eax, [ebx + 0x28d8]
push esi
push eax
call fcn.0045ab70
add esp, 0xc
cmp byte [esp + 0x1f0], 0x3a
jne 0x42b306
mov al, byte [esp + 0x1f1]
cmp al, 0x6e
jne 0x42b2eb
mov ecx, dword [0x4c08ec]
mov eax, 1
mov dword [ecx + 0x40f40], eax
mov dword [ebx + 0x5d64], eax
jmp case.0x428dbc.1
cmp al, 0x72
jne 0x42b306
mov edx, dword [0x4c08ec]
mov dword [edx + 0x40f40], esi
mov dword [ebx + 0x5d64], esi
jmp case.0x428dbc.1
mov ecx, ebx
call fcn.00425db0
cmp byte [esp + 0x1f0], 0x2d
jne 0x42b3da
cmp byte [esp + 0x1f1], 0x2d
jne 0x42b3da
mov ecx, dword [0x4c08ec]
add ecx, 0xb2c80
lea edx, [esp + 0x7564]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42b340
mov eax, dword [0x4c08ec]
add eax, 0xb2c80
cmp byte [eax], 0
je 0x42b400
push esi
push 1
push eax
mov ecx, ebx
call fcn.00422e80
push 3
mov ecx, ebx
call fcn.0041e830
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x42b3cb
mov edx, dword [0x4c08ec]
mov ecx, eax
mov eax, dword [ebx + eax*4 + 0x5fa0]
imul ecx, ecx, 0x3c0
push 0xffffffffffffffff
lea esi, [ecx + edx + 0xcb968]
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.00447f40
mov eax, dword [ebx + 0x640]
test eax, eax
je 0x42b3cb
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
push eax
call fcn.004440c0
mov dword [esp + 0x3ca4], 0
xor esi, esi
jmp 0x42b400
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x7564], cl
inc eax
test cl, cl
jne 0x42b3e0
mov eax, dword [ebx + 0x5fa8]
mov ecx, dword [eax]
call fcn.00444300
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x40f40], esi
jne 0x42b413
mov dword [eax + 0x40f44], esi
lea ecx, [esp + 0x7564]
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040eaf0
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
test eax, eax
jne 0x42b4d3
mov ecx, dword [esp + 0x21f8]
lea edx, [ecx + ecx*4]
imul ecx, ecx, 0x2d0
shl edx, 8
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x500
sub eax, edx
cdq
sub eax, edx
mov esi, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x2d0
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x21f4]
sar eax, 1
mov dword [esp + 0x44], eax
add eax, edx
neg eax
sar esi, 1
mov dword [esp + 0x48], esi
mov ecx, dword [ebx + 0x5fa8]
mov ecx, dword [ecx]
push eax
mov eax, dword [esp + 0x21f4]
add esi, eax
neg esi
push esi
call fcn.00401040
mov eax, dword [esp + 0x21f8]
mov edx, dword [ebx + 0x5fa8]
mov ecx, dword [edx]
push eax
push eax
call fcn.004088f0
jmp case.0x428dbc.1
cmp eax, 1
jne 0x42b52e
mov esi, dword [esp + 0x4c]
cmp esi, 0xffffffff
jne 0x42b4ea
mov esi, 0x1e
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + 0x5fa8]
push 0xffffffffffffffff
push 0
push esi
push eax
push ecx
mov ecx, dword [edx]
call fcn.004474c0
fild dword [esp + 0x21f8]
mov eax, dword [ebx + 0x5fa8]
push 0xffffffffffffffff
push 0
push esi
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004478e0
jmp case.0x428dbc.1
cmp eax, 2
jne case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov dword [esp + 0x4c], ecx
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
test ecx, ecx
je case.0x428dbc.1
cmp ecx, 0xfe
jne 0x42b56e
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412f10
jmp case.0x428dbc.1
cmp ecx, 0xff
jne 0x42b586
mov ecx, dword [esp + 0x1c]
push 0
call fcn.00412f10
jmp case.0x428dbc.1
lea eax, [ecx - 1]
mov dword [esp + 0x14], 0xffffffff
cmp eax, 0xf
ja case.0x428dbc.1
jmp dword [eax*4 + 0x431fbc]
xor esi, esi
jmp 0x42b5e9
mov esi, 1
jmp 0x42b5e9
mov esi, 2
jmp 0x42b5e9
mov esi, 3
jmp 0x42b5e9
mov esi, 4
jmp 0x42b5e9
mov esi, 5
jmp 0x42b5e9
mov esi, 6
jmp 0x42b5e9
mov esi, 0x11
jmp 0x42b5e9
mov esi, 0x12
jmp 0x42b5e9
mov esi, 7
jmp 0x42b5e9
mov esi, 8
cmp dword [ebx + esi*4 + 0x2880], 0
mov dword [esp + 0x14], esi
je 0x42b624
mov edi, dword [ebx + esi*4 + 0x2880]
test edi, edi
je 0x42b612
mov ecx, edi
call fcn.004043b0
push edi
call fcn.0045a680
add esp, 4
mov dword [ebx + esi*4 + 0x2880], 0
mov ecx, dword [esp + 0x21f0]
push 0x444
cmp ecx, 3
jne 0x42b67b
mov edx, dword [ebx + 0x286c]
mov dword [ebx + esi*4 + 0x2880], edx
call fcn.0045b28d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x7ce0], 1
test eax, eax
je 0x42b65f
mov ecx, eax
call fcn.00404260
jmp 0x42b661
xor eax, eax
mov dword [esp + 0x7ce0], 0xffffffff
mov dword [ebx + 0x286c], eax
mov dword [esp + 0x1c], eax
jmp case.0x428dbc.1
call fcn.0045b28d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x7ce0], 2
test eax, eax
je 0x42b69f
mov ecx, eax
call fcn.00404260
jmp 0x42b6a1
xor eax, eax
mov dword [ebx + esi*4 + 0x2880], eax
mov esi, dword [esp + 0x1c]
push 1
push esi
mov ecx, eax
mov dword [esp + 0x7ce8], 0xffffffff
call fcn.00418f20
mov ecx, esi
call fcn.00413360
jmp case.0x428dbc.1
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, esi
call fcn.00412ba0
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x2204]
mov eax, dword [esp + 0x2208]
mov edi, dword [esp + 0x2200]
add edx, ecx
test al, al
jns 0x42b708
push 1
jmp 0x42b70a
push 0
push edx
mov edx, dword [esp + 0x2200]
add edi, edx
push edi
push ecx
mov ecx, dword [esp + 0x2204]
push edx
mov edx, dword [esp + 0x58]
and eax, 0x3f
mov eax, dword [ebx + eax*4 + 0x634]
add edx, ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x2208]
add ecx, eax
push edx
push ecx
mov ecx, esi
call fcn.00417d20
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
cmp eax, 0x600
jg case.0x428dbc.1
cmp eax, 0x300
jne 0x42b783
mov edx, dword [esp + 0x21fc]
mov eax, dword [esp + 0x21f8]
mov ecx, dword [esp + 0x1c]
push 0x1e
push edx
push eax
call fcn.00419360
jmp case.0x428dbc.1
cmp eax, 0x100
jg case.0x428dbc.1
cmp dword [ebx + 0x61c], 0x87
jne 0x42b806
mov ecx, dword [0x4c08ec]
mov edx, dword [ecx + 4]
mov esi, dword [esp + 0x1c]
push edx
mov ecx, esi
call fcn.00414740
mov ecx, eax
call fcn.0043d450
push 1
mov ecx, esi
call fcn.00414740
mov ecx, eax
call fcn.00441270
mov ecx, esi
call fcn.00414740
mov ecx, eax
call fcn.0043d4a0
mov ecx, dword [0x4c08ec]
push 0x1d
push 0x63
mov edi, eax
call fcn.0040ccd0
mov ecx, 0x17
sub ecx, eax
imul edi, ecx
lea edx, [edi + edi*4]
push edx
mov ecx, esi
call fcn.00414740
mov ecx, eax
call fcn.0043d440
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f8]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
mov eax, dword [esp + 0x21fc]
push eax
call fcn.00419640
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
push ecx
mov ecx, dword [esp + 0x20]
push edx
call fcn.00412bc0
jmp case.0x428dbc.1
cmp dword [esp + 0x21f8], 0
je case.0x428dbc.1
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x5674]
inc ecx
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
lea edx, [esp + 0x1f0]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x42b878
lea edx, [esp + 0x1f0]
push edx
call fcn.004076b0
mov ecx, dword [esp + 0x21fc]
mov edx, dword [esp + 0x2200]
add esp, 4
lea eax, [esp + 0x1f0]
push eax
mov eax, dword [esp + 0x21f8]
push ecx
mov ecx, dword [esp + 0x21f8]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x30]
call fcn.00417f20
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x5674]
mov ecx, dword [ebx + 0x2864]
inc eax
push eax
call fcn.004381e0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42b8e0
jmp 0x42efd7
mov eax, dword [esp + 0x21f8]
test eax, eax
jne 0x42b930
cmp dword [ebp + 8], eax
jne 0x42b9b2
mov edx, dword [ebx + 0x5fa0]
mov ecx, dword [edx]
call fcn.0044a730
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + 0x5fa0]
push 0xffffffffffffffff
push 0
push 0x78
push eax
push ecx
mov ecx, dword [edx]
jmp 0x42ba2c
cmp eax, 1
jne 0x42b964
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + 0x5fa0]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00401040
mov eax, dword [ebx + 0x5fa0]
mov ecx, dword [eax]
call fcn.00444300
jmp case.0x428dbc.1
cmp eax, 0x63
jne 0x42b9ac
cmp dword [ebp + 8], 0
jne 0x42b9b2
mov edx, dword [ebx + 0x5fa0]
mov ecx, dword [edx]
call fcn.0044a730
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
add eax, eax
push 0
add eax, eax
push eax
mov eax, dword [ebx + 0x5fa0]
push ecx
mov ecx, dword [eax]
push edx
jmp 0x42ba2c
cmp dword [ebp + 8], 0
je 0x42b9f1
mov ecx, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
mov eax, dword [ebx + 0x5fa0]
push ecx
mov ecx, dword [eax]
push edx
call fcn.00401040
mov ecx, dword [ebx + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00444300
mov dword [esp + 0x40], 0x89
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov edx, dword [ebx + 0x5fa0]
mov ecx, dword [edx]
call fcn.0044a730
mov eax, dword [esp + 0x21fc]
mov edx, dword [esp + 0x21f4]
add eax, 4
push 0xffffffffffffffff
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + 0x21f4]
push 0
push ecx
mov ecx, dword [ebx + 0x5fa0]
mov ecx, dword [ecx]
push edx
push eax
call fcn.004474c0
mov dword [esp + 0x40], 0x89
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
test eax, eax
jne 0x42bca8
mov ecx, dword [0x4c08ec]
push 0xfe
push 0x63
call fcn.0040ccd0
mov ecx, dword [0x4c08ec]
push eax
call fcn.0040c610
test eax, eax
je case.0x428dbc.1
xor esi, esi
push esi
mov ecx, ebx
call fcn.00425f50
mov ecx, dword [0x4c08ec]
push 0xfe
push 0x63
call fcn.0040ccd0
mov ecx, dword [0x4c08ec]
push eax
call fcn.0040c770
mov dword [ebx + 0x2cd8], esi
mov dword [ebx + 0x2cdc], esi
mov edx, dword [0x4c08ec]
mov dword [edx + 0x10], esi
mov eax, dword [0x4c08ec]
mov dword [eax + 0x109b34], esi
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x40f3c], esi
je 0x42bbea
mov dword [eax + 0x40f3c], esi
mov ecx, dword [0x4c08ec]
add ecx, 0x4b88
mov edx, 0x4c00d0
jmp 0x42baf0
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42baf0
mov ecx, dword [0x4c08ec]
xor eax, eax
mov dword [ecx + 0x109b34], eax
mov dword [ebx + 0x2cdc], eax
mov ecx, dword [ebx + 0x2868]
push 1
call fcn.00405ce0
mov eax, dword [0x4c08ec]
mov edx, dword [eax + 0x567c]
push 1
lea esi, [eax + 0x1d06c]
mov ecx, 0x113
lea edi, [esp + 0x7880]
push 2
inc edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x2868]
push edx
call fcn.00406950
mov ecx, dword [ebx + 0x2868]
call fcn.00402010
add eax, 0x1da5
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x4c08ec]
xor edx, edx
mov word [eax + ecx*2], dx
mov ecx, dword [ebx + 0x2868]
call fcn.00402010
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [0x4c08ec]
xor edx, edx
mov word [eax + ecx*2 + 0x19f04], dx
mov edi, dword [0x4c08ec]
add edi, 0x1d06c
mov ecx, 0x113
lea esi, [esp + 0x787c]
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, ebx
call fcn.004224c0
mov esi, 1
push esi
mov ecx, ebx
call fcn.004224c0
push 2
mov ecx, ebx
call fcn.004224c0
mov dword [ebx + 0x3d00], esi
mov ecx, ebx
mov dword [esp + 0x34], esi
mov dword [ebx + 0x5d40], 0
call fcn.00421970
jmp case.0x428dbc.1
lea ecx, [eax + 0x4b80]
push 0x56fe4
push ecx
add eax, 0x5bb64
push eax
call fcn.0045ada0
mov edx, dword [0x4c08ec]
add esp, 0xc
push esi
add edx, 0x4b88
push edx
mov ecx, ebx
call fcn.004260e0
mov eax, dword [0x4c08ec]
lea ecx, [eax + 0x5bb64]
push 0x56fe4
push ecx
add eax, 0x4b80
push eax
call fcn.0045ada0
add esp, 0xc
push esi
push esi
mov ecx, ebx
call fcn.004257d0
mov ecx, dword [0x4c08ec]
add ecx, 0x40e54
lea edx, [ebx + 0x2ce4]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42bc53
mov ecx, dword [0x4c08ec]
add ecx, 0x40d50
lea edx, [ebx + 0x30e4]
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42bc70
push 0x3564
lea edx, [esp + 0x3880]
push esi
push edx
call fcn.0045ab70
push 0xcf0
lea eax, [esp + 0x241c]
push esi
push eax
call fcn.0045ab70
add esp, 0x18
jmp case.0x428dbc.1
cmp eax, 1
je case.0x428dbc.1
cmp eax, 2
jne 0x42bcca
mov ecx, dword [0x4c086c]
push 0
push ecx
call dword [0x48b374]
jmp case.0x428dbc.1
cmp eax, 3
jne 0x42bce3
mov edx, dword [0x4c086c]
push 5
push edx
call dword [0x48b374]
jmp case.0x428dbc.1
cmp eax, 4
jne 0x42bd54
cmp dword [esp + 0x21f4], 0
jne 0x42bd2f
mov ecx, dword [0x4c08ec]
push 0xfe
push 0x63
call fcn.0040ccd0
push eax
mov ecx, ebx
call fcn.004218e0
mov ecx, dword [0x4c08ec]
push 0xfe
push 0x63
call fcn.0040ccd0
mov ecx, dword [0x4c08ec]
push eax
call fcn.0040c3e0
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
push 0
mov ecx, ebx
call fcn.004218e0
mov ecx, dword [0x4c08ec]
push 0
call fcn.0040c3e0
jmp case.0x428dbc.1
cmp eax, 5
jne 0x42bd91
mov ecx, dword [0x4c08ec]
mov eax, dword [ecx + 0x19efc]
lea edx, [eax*8]
sub edx, eax
lea eax, [ecx + edx*2 + 0x19f00]
mov ecx, dword [ebx + 0x2868]
push eax
call fcn.00403420
mov ecx, dword [0x4c08ec]
call fcn.0040c240
jmp case.0x428dbc.1
cmp eax, 6
jne 0x42bdef
mov ecx, dword [0x4c08ec]
mov eax, dword [ecx + 0x19efc]
lea edx, [eax*8]
sub edx, eax
lea eax, [ecx + edx*2 + 0x19f00]
mov ecx, dword [ebx + 0x2868]
push eax
call fcn.00403420
cmp dword [esp + 0x21f4], 1
jne case.0x428dbc.1
mov ecx, dword [0x4c08ec]
lea edx, [ecx + 0x4b88]
push edx
call fcn.0040cbc0
mov ecx, dword [ebx + 0x2868]
push eax
call fcn.00402640
jmp case.0x428dbc.1
cmp eax, 7
jne 0x42be09
mov eax, dword [esp + 0x21f4]
mov ecx, dword [0x4c0874]
mov dword [ecx + 0x18], eax
jmp case.0x428dbc.1
cmp eax, 8
jne 0x42be43
mov eax, dword [0x4c0874]
mov esi, dword [eax + 0x18]
mov dword [eax + 0x18], 1
mov edx, dword [esp + 0x21f4]
mov ecx, dword [0x4c0874]
push 0
push edx
mov dword [esp + 0x1c], esi
call fcn.0043a690
mov eax, dword [0x4c0874]
mov dword [eax + 0x18], esi
jmp case.0x428dbc.1
cmp eax, 9
je case.0x428dbc.1
cmp eax, 0xa
jne 0x42beb7
push 0xaa
push 0x4bfbe0
call fcn.0044d440
add esp, 8
test eax, eax
jge case.0x428dbc.1
jmp 0x42be70
mov ecx, dword [0x4c087c]
test ecx, ecx
je 0x42be8e
push 1
call fcn.00442d70
mov ecx, dword [0x4c087c]
push 1
call fcn.00442d90
nop
nop
nop
nop
nop
cmp eax, 0xffffffff
je case.0x428dbc.16
push 0xaa
push 0x4bfbe0
call fcn.0044d440
add esp, 8
test eax, eax
je 0x42be70
jmp case.0x428dbc.1
cmp eax, 0x63
je case.0x428dbc.1
cmp eax, 0xb
je case.0x428dbc.1
cmp eax, 0xc
je case.0x428dbc.1
cmp eax, 0xd
je case.0x428dbc.1
cmp eax, 0xe
je case.0x428dbc.1
cmp eax, 0xf
jne 0x42bf02
mov edx, dword [esp + 0x21f4]
mov ecx, ebx
mov dword [ebx + 0x3d10], edx
call fcn.00421e20
jmp case.0x428dbc.1
cmp eax, 0x10
je case.0x428dbc.1
cmp eax, 0x11
je case.0x428dbc.1
cmp eax, 0x12
jne 0x42bf52
mov ecx, dword [0x4c08ec]
mov eax, 1
mov dword [ecx + 0x40c80], eax
mov edx, dword [0x4c08ec]
cmp dword [edx + 0xeec5c], 0
je case.0x428dbc.1
mov ecx, edx
mov dword [ecx + 0x40c94], eax
push eax
mov ecx, ebx
call fcn.00421b30
jmp case.0x428dbc.1
cmp eax, 0x13
je case.0x428dbc.1
cmp eax, 0x14
jne 0x42bf8f
mov ecx, dword [0x4c08ec]
mov esi, dword [ecx + 0x34]
push 0
mov dword [esp + 0x18], esi
call fcn.0040ea40
mov ecx, dword [0x4c08ec]
mov eax, dword [ecx + 0x34]
cmp esi, eax
je case.0x428dbc.1
push eax
push 0xe
push 0x63
jmp 0x430ed5
cmp eax, 0x15
je case.0x428dbc.1
cmp eax, 0x16
jne 0x42bfc6
mov edx, dword [0x4c08ec]
mov dword [edx + 0x109b50], 0
call fcn.004120c0
test eax, eax
je case.0x428dbc.1
mov ecx, ebx
call fcn.00427390
jmp case.0x428dbc.1
cmp eax, 0x17
jne 0x42bff3
mov eax, dword [0x4c08ec]
mov dword [eax + 0x109b50], 0
call fcn.004120c0
test eax, eax
je case.0x428dbc.1
mov ecx, ebx
call fcn.00426490
jmp case.0x428dbc.1
cmp eax, 0x18
jne 0x42c01d
mov ecx, dword [0x4c08ec]
push 0
push 0xfe
push 0x63
call fcn.0040ccd0
mov ecx, dword [0x4c08ec]
push eax
call fcn.0040c480
jmp case.0x428dbc.1
cmp eax, 0x19
jne 0x42c049
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x109b50], 1
call fcn.004120c0
test eax, eax
jne case.0x428dbc.1
call fcn.00412280
jmp case.0x428dbc.1
cmp eax, 0x1a
jne 0x42c05e
mov ecx, dword [0x4c08ec]
call fcn.0040ebc0
jmp case.0x428dbc.1
cmp eax, 0x1b
jne 0x42c073
mov ecx, dword [0x4c0874]
call fcn.0043a910
jmp case.0x428dbc.1
cmp eax, 0x1c
jne 0x42c09f
mov eax, dword [0x4c0878]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [0x4c0874]
add edx, 0x2d0
push edx
add eax, 0x500
push eax
call fcn.0043aa70
jmp case.0x428dbc.1
cmp eax, 0x1d
jne case.0x428dbc.1
mov ecx, dword [0x4c08ec]
mov edx, dword [esp + 0x21f4]
mov esi, dword [ecx + 0x34]
push edx
mov dword [esp + 0x18], esi
call fcn.0040e850
mov eax, dword [0x4c08ec]
mov eax, dword [eax + 0x34]
cmp esi, eax
je case.0x428dbc.1
push eax
push 0xe
push 0x63
jmp 0x430ecf
mov eax, dword [esp + 0x21f0]
cmp eax, 0x40
jge case.0x428dbc.1
movzx ecx, byte [esp + 0x21f4]
mov dl, byte [esp + 0x21f8]
mov byte [eax*4 + 0x4b31b0], cl
movzx ecx, byte [esp + 0x21fc]
mov byte [eax*4 + 0x4b31b1], dl
mov byte [eax*4 + 0x4b31b2], cl
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
test eax, eax
je case.0x428dbc.1
mov cl, byte [esp + 0x1f0]
cmp cl, 0x2a
jne 0x42c16e
lea edx, [esp + 0x1f1]
push edx
call fcn.0045b871
mov ecx, dword [0x4c08ec]
add esp, 4
push eax
mov dword [esp + 0x21fc], eax
call fcn.0040ca50
lea edx, [esp + 0x1f0]
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x42c162
jmp 0x42c1aa
cmp cl, 0x2d
jne 0x42c1b1
cmp byte [esp + 0x1f1], cl
jne 0x42c1b1
lea ecx, [eax - 1]
cmp ecx, 0x1c
ja 0x42c1b1
lea eax, [eax + eax*2 + 0xb2bf]
shl eax, 4
add eax, dword [0x4c08ec]
lea edx, [esp + 0x1f0]
jmp 0x42c1a0
mov cl, byte [eax]
mov byte [edx], cl
inc eax
inc edx
test cl, cl
jne 0x42c1a0
mov eax, dword [esp + 0x21f0]
cmp eax, 1
jne 0x42c403
lea edx, [esp + 0x1f0]
push str.BGBLACK
push edx
call fcn.0045a2c0
add esp, 8
test eax, eax
jne 0x42c1ec
lea eax, [esp + 0x1f0]
push 0x48ca78
push eax
call fcn.0045a2c0
add esp, 8
test eax, eax
je 0x42c1fc
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x40f40], 0
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x40f40], 0
jne 0x42c3e5
mov eax, dword [ebx + 0x5fc8]
mov ecx, dword [eax]
lea esi, [ebx + 0x5fc8]
call fcn.004449f0
test eax, eax
jne 0x42c26e
mov ecx, dword [ebx + 0x5ff0]
mov ecx, dword [ecx]
call fcn.004449f0
test eax, eax
jne 0x42c26e
mov edx, dword [ebx + 0x6018]
mov ecx, dword [edx]
call fcn.004449f0
test eax, eax
jne 0x42c26e
mov eax, dword [ebx + 0x6040]
mov ecx, dword [eax]
call fcn.004449f0
test eax, eax
jne 0x42c26e
mov ecx, dword [ebx + 0x6068]
mov ecx, dword [ecx]
call fcn.004449f0
test eax, eax
je 0x42c365
mov edi, 0x36
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.0044a6e0
add esi, 4
sub edi, 1
jne 0x42c273
mov dword [0x4b333c], edi
mov dword [0x4b3340], 0x64
mov dword [0x4b3348], edi
mov dword [0x4b3344], edi
mov dword [ebx + 0x5d6c], 1
mov edx, dword [0x4b333c]
mov esi, dword [0x4b3340]
mov dword [0x4c0918], edi
cmp edx, 0xffffffff
jne 0x42c2c6
cmp esi, 0xffffffff
je 0x42c2ee
mov eax, dword [0x4b34e0]
mov ecx, dword [0x4b3348]
push eax
mov eax, dword [0x4b3344]
push ecx
push eax
push esi
push edx
mov ecx, ebx
call fcn.0041f870
mov esi, dword [0x4b3340]
mov edx, dword [0x4b333c]
mov eax, dword [0x4b3328]
mov ecx, dword [0x4b332c]
cmp eax, 0xffffffff
jne 0x42c334
cmp ecx, 0xffffffff
jne 0x42c334
mov eax, dword [0x4b3344]
cmp eax, ecx
mov ecx, dword [0x4b3348]
jne 0x42c317
cmp ecx, 0xffffffff
je 0x42c35f
push esi
mov esi, dword [0x4b334c]
push esi
mov esi, dword [0x4b34e0]
push esi
neg ecx
push ecx
neg eax
push eax
push 0xff
push edx
jmp 0x42c358
mov edx, dword [0x4b3338]
push 0xffffffffffffffff
push edx
mov edx, dword [0x4b34e0]
push edx
mov edx, dword [0x4b3334]
neg edx
push edx
mov edx, dword [0x4b3330]
neg edx
push edx
push ecx
push eax
mov ecx, ebx
call fcn.00423aa0
mov dword [ebx + 0x5d6c], edi
mov eax, dword [ebx + 0x5fa0]
mov ecx, dword [eax]
call fcn.0044a6e0
mov ecx, dword [ebx + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00445230
or eax, 0xffffffff
push 0xc8
mov dword [0x4b3328], eax
mov dword [0x4b332c], eax
mov dword [0x4b3330], eax
mov dword [0x4b3334], eax
mov dword [0x4b3338], eax
or eax, eax
push 0xffffffffffffffff
push 0x4b3350
mov dword [0x4b333c], eax
mov dword [0x4b3340], eax
mov dword [0x4b3344], eax
mov dword [0x4b3348], eax
mov dword [0x4b334c], eax
call fcn.0045ab70
push 0xc8
push 0xffffffffffffffff
push 0x4b3418
call fcn.0045ab70
add esp, 0x18
mov dword [0x4c0918], 0
push 0x3564
lea edx, [esp + 0x3880]
push 0
push edx
call fcn.0045ab70
mov eax, dword [esp + 0x21fc]
add esp, 0xc
lea edx, [eax - 0x13]
cmp edx, 4
ja 0x42c478
cmp dword [ebp + 8], 0
je 0x42c44a
imul edx, edx, 0x104
lea ecx, [esp + 0x1f0]
add edx, ebx
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42c420
mov eax, dword [esp + 0x21f0]
push eax
add eax, 0xffffffed
imul eax, eax, 0x104
add eax, ebx
push eax
mov ecx, ebx
call fcn.0041e940
jmp case.0x428dbc.1
push eax
lea eax, [esp + 0x1f4]
push eax
mov ecx, ebx
call fcn.0041e940
mov ecx, dword [esp + 0x21f0]
push 0
push ecx
lea edx, [esp + 0x1f8]
push edx
mov ecx, ebx
call fcn.00422e80
jmp case.0x428dbc.1
lea ecx, [eax - 0x21]
cmp ecx, 3
ja 0x42c4e3
cmp dword [ebx + eax*4 + 0x634], 0
je 0x42c492
push eax
mov ecx, ebx
call fcn.0041f340
push 0
lea edx, [esp + 0x1f4]
push 0
push edx
call fcn.0044f850
mov ecx, dword [esp + 0x21fc]
mov dword [ebx + ecx*4 + 0x634], eax
mov eax, dword [esp + 0x21fc]
lea edx, [eax + eax*2]
mov eax, dword [0x4c08ec]
add esp, 0xc
shl edx, 4
lea ecx, [esp + 0x1f0]
lea edx, [edx + eax + 0x4c28]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42c4d4
jmp case.0x428dbc.1
cmp eax, 0x1a
jne 0x42c4ff
push 0
push eax
lea ecx, [esp + 0x1f8]
push ecx
mov ecx, ebx
call fcn.00422f70
jmp case.0x428dbc.1
cmp eax, 0x1b
jne 0x42c51b
push 0
push eax
lea edx, [esp + 0x1f8]
push edx
mov ecx, ebx
call fcn.00422f70
jmp case.0x428dbc.1
imul eax, eax, 0x10c
lea ecx, [esp + 0x1f0]
lea edx, [esp + eax + 0x387c]
nop
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42c530
mov eax, dword [esp + 0x21f0]
imul eax, eax, 0x10c
mov dword [esp + eax + 0x3980], 1
jmp case.0x428dbc.1
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x7564], cl
inc eax
test cl, cl
jne 0x42c560
cmp byte [esp + 0x7564], 0x2d
jne case.0x428dbc.1
cmp byte [esp + 0x7565], 0x2d
jne 0x42c632
mov eax, dword [esp + 0x21f0]
mov edx, dword [0x4c08ec]
lea ecx, [eax + eax*2 + 0xb2da]
shl ecx, 4
add ecx, edx
cmp byte [ecx], 0
je case.0x428dbc.1
lea edx, [esp + 0x7564]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42c5b8
mov eax, dword [esp + 0x21f0]
mov edx, dword [0x4c08ec]
mov ecx, eax
imul ecx, ecx, 0x2580
push 0xffffffffffffffff
sub esp, 0x3c0
lea esi, [ecx + edx + 0xce668]
mov edi, esp
mov ecx, 0xf0
add eax, 9
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebx
call fcn.0041e830
mov eax, dword [ebx + eax*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.00447f40
mov ecx, dword [esp + 0x21f0]
push 0
add ecx, 9
push ecx
lea edx, [esp + 0x756c]
push edx
mov ecx, ebx
call fcn.00422f70
cmp byte [esp + 0x7564], 0x2d
jne case.0x428dbc.1
cmp byte [esp + 0x7565], 0
jne case.0x428dbc.1
mov edx, dword [esp + 0x21f0]
imul edx, edx, 0x10c
lea ecx, [esp + 0x1f0]
lea edx, [esp + edx + 0x41e8]
jmp 0x42c660
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42c660
mov eax, dword [esp + 0x21f0]
imul eax, eax, 0x10c
mov dword [esp + eax + 0x42ec], 1
jmp case.0x428dbc.1
cmp byte [esp + 0x1f0], 0x2d
jne case.0x428dbc.1
cmp byte [esp + 0x1f1], 0
jne case.0x428dbc.1
xor eax, eax
mov edx, 1
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x58f0], cl
add eax, edx
test cl, cl
jne 0x42c6b0
mov dword [esp + 0x59f4], edx
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x59fc], cl
add eax, edx
test cl, cl
jne 0x42c6d0
mov dword [esp + 0x5b00], edx
jmp case.0x428dbc.1
mov dl, byte [esp + 0x1f0]
cmp dl, 0x2d
jne 0x42c7d0
cmp byte [esp + 0x1f1], dl
jne 0x42c7d0
mov eax, dword [esp + 0x21f0]
mov edx, dword [0x4c08ec]
lea ecx, [eax + eax*2 + 0xb2cb]
shl ecx, 4
add ecx, edx
cmp byte [ecx], 0
je case.0x428dbc.1
push 0
add eax, 4
push eax
push ecx
mov ecx, ebx
call fcn.00422e80
mov edx, dword [esp + 0x21f0]
lea eax, [edx + 4]
push eax
mov ecx, ebx
call fcn.0041e830
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x42c7ba
mov edx, dword [0x4c08ec]
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [ebx + eax*4 + 0x5fa0]
shl ecx, 6
push 0xffffffffffffffff
lea esi, [ecx + edx + 0xcb968]
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.00447f40
mov edx, dword [esp + 0x21f0]
mov eax, dword [ebx + edx*4 + 0x644]
test eax, eax
je 0x42c7ba
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
push eax
call fcn.004440c0
mov edx, dword [esp + 0x21f0]
imul edx, edx, 0x10c
mov dword [esp + edx + 0x3db0], 0
jmp case.0x428dbc.1
mov esi, dword [esp + 0x21f0]
lea eax, [esi + 4]
push eax
mov ecx, ebx
call fcn.0041e830
mov edi, eax
mov dword [esp + 0x58], edi
cmp dl, 0x2d
jne 0x42c971
cmp byte [esp + 0x1f1], 0
jne 0x42c9a1
imul esi, esi, 0x10c
lea edx, [esp + esi + 0x3cac]
lea ecx, [esp + 0x1f0]
mov esi, 1
mov al, byte [ecx]
mov byte [edx], al
add ecx, esi
add edx, esi
test al, al
jne 0x42c818
mov eax, dword [esp + 0x21f0]
imul eax, eax, 0x10c
mov dword [esp + eax + 0x3db0], esi
lea ecx, [esp + 0x1f0]
lea edx, [esp + eax + 0x41e8]
mov al, byte [ecx]
mov byte [edx], al
add ecx, esi
add edx, esi
test al, al
jne 0x42c846
mov edi, dword [esp + 0x21f0]
mov edx, dword [0x4c08ec]
mov ecx, edi
imul ecx, ecx, 0x10c
mov dword [esp + ecx + 0x42ec], esi
cmp dword [edx + 0x41060], 0
je case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
cmp dword [ebp + 8], eax
jne case.0x428dbc.1
cmp dword [ebx + 0x6210], eax
jne case.0x428dbc.1
cmp dword [ebx + 0x3d00], eax
jne case.0x428dbc.1
mov eax, dword [esp + 0x58]
mov esi, eax
shl esi, 4
sub esi, eax
push 0
shl esi, 6
add edi, 0x2e
push edi
lea edx, [esi + edx + 0x1e040]
push edx
call fcn.00422e80
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + eax*4 + 0x6ec]
mov edx, dword [0x4c08ec]
mov dword [esi + edx + 0x1de14], ecx
mov eax, dword [0x4c08ec]
cmp dword [esi + eax + 0x1de14], 0
je case.0x428dbc.1
mov ecx, dword [esp + 0x58]
mov edx, dword [ebx + ecx*4 + 0x5fa4]
mov ecx, dword [edx]
call fcn.0044a6e0
mov eax, dword [0x4c08ec]
push 0xffffffffffffffff
sub esp, 0x3c0
lea esi, [esi + eax + 0x1dd60]
mov edi, esp
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x41c]
mov ecx, dword [ebx + esi*4 + 0x5fa4]
mov ecx, dword [ecx]
call fcn.00447f40
mov edx, dword [ebx + esi*4 + 0x5fa4]
fld1
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.00444470
fldz
mov eax, dword [ebx + esi*4 + 0x5fa4]
push 0xffffffffffffffff
push 0
push 0xf
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004477e0
jmp case.0x428dbc.1
cmp dl, 0x2e
jne 0x42c9a1
imul esi, esi, 0x10c
lea ecx, [esp + esi + 0x3cac]
lea edx, [esp + 0x1f0]
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42c990
mov esi, dword [esp + 0x21f0]
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x41060], 0
je 0x42cb43
lea ecx, [esi + esi*2]
shl ecx, 4
lea edx, [ecx + eax + 0x4ce8]
push 7
push edx
lea eax, [esp + 0x1f8]
push eax
call fcn.0045aa6a
add esp, 0xc
test eax, eax
je 0x42cb43
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42cb43
cmp dword [ebp + 8], eax
jne 0x42cb43
cmp dword [ebx + 0x6210], eax
jne 0x42cb43
cmp dword [ebx + 0x3d00], eax
jne 0x42cb43
mov edi, dword [esp + 0x21f0]
mov edx, dword [0x4c08ec]
lea ecx, [edi + edi*2]
shl ecx, 4
lea eax, [ecx + edx + 0x4ce8]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ca28
sub eax, esi
cmp eax, 7
jb 0x42cb00
mov eax, dword [esp + 0x58]
mov esi, eax
shl esi, 4
sub esi, eax
push 0
shl esi, 6
add edi, 0x2e
push edi
lea edx, [esi + edx + 0x1e040]
push edx
mov ecx, ebx
call fcn.00422e80
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + eax*4 + 0x6ec]
mov edx, dword [0x4c08ec]
mov dword [esi + edx + 0x1de14], ecx
mov eax, dword [0x4c08ec]
cmp dword [esi + eax + 0x1de14], 0
je 0x42caf9
mov ecx, dword [esp + 0x58]
mov edx, dword [ebx + ecx*4 + 0x5fa4]
mov ecx, dword [edx]
call fcn.0044a6e0
mov eax, dword [0x4c08ec]
push 0xffffffffffffffff
sub esp, 0x3c0
lea esi, [esi + eax + 0x1dd60]
mov edi, esp
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x41c]
mov ecx, dword [ebx + esi*4 + 0x5fa4]
mov ecx, dword [ecx]
call fcn.00447f40
mov edx, dword [ebx + esi*4 + 0x5fa4]
fld1
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.00444470
fldz
mov eax, dword [ebx + esi*4 + 0x5fa4]
push 0xffffffffffffffff
push 0
push 0xf
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004477e0
mov edi, dword [esp + 0x21f0]
add edi, 4
push edi
mov ecx, ebx
call fcn.0041e830
fldz
mov esi, eax
push ecx
mov ecx, dword [ebx + esi*4 + 0x5fa0]
fstp dword [esp]
mov ecx, dword [ecx]
mov dword [esp + 0x18], esi
call fcn.00444470
fld1
mov edx, dword [ebx + esi*4 + 0x5fa0]
push 0xffffffffffffffff
push 0
push 0xf
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.004477e0
mov edi, dword [esp + 0x58]
cmp edi, 0xffffffff
je case.0x428dbc.1
mov eax, dword [ebx + edi*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.00447280
jmp case.0x428dbc.1
cmp byte [esp + 0x1f0], 0x2d
jne 0x42cd43
mov al, byte [esp + 0x1f1]
cmp al, 0x2d
jne 0x42cc60
mov eax, dword [0x4c08ec]
add eax, 0xb30a0
cmp byte [eax], 0
je case.0x428dbc.1
push 3
push 0x48c950
push eax
mov dword [esp + 0x3c], 0xffffffff
call fcn.0045d494
add esp, 0xc
push 0
test eax, eax
jne 0x42cbd4
mov ecx, dword [0x4c08ec]
push eax
add ecx, 0xb30a3
push ecx
call fcn.0044f850
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x30], eax
mov dword [ebx + edx*4 + 0x634], eax
jmp 0x42cbe8
mov eax, dword [0x4c08ec]
push 0x19
add eax, 0xb30a0
push eax
mov ecx, ebx
call fcn.00422e80
push 0x19
mov ecx, ebx
call fcn.0041e830
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x42cc50
mov ecx, dword [esp + 0x30]
mov edx, eax
shl edx, 4
push ecx
mov ecx, dword [0x4c08ec]
sub edx, eax
shl edx, 6
lea esi, [edx + ecx + 0xcb968]
mov edx, dword [ebx + eax*4 + 0x5fa0]
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx]
call fcn.00447f40
mov eax, dword [ebx + 0x698]
test eax, eax
je 0x42cc50
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + eax*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.004440c0
mov dword [esp + 0x53ac], 0
jmp case.0x428dbc.1
cmp al, 0x61
jne 0x42cc7b
cmp byte [esp + 0x1f2], 0
jne 0x42cd43
fild dword [esp + 0x21f0]
jmp 0x42ccca
cmp al, 0x6d
jne 0x42cce0
cmp byte [esp + 0x1f2], 0
jne 0x42cd43
cmp dword [ebp + 8], 0
jne 0x42ccc8
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42ccc8
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x21f8]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
push eax
fld1
push ecx
mov ecx, dword [ebx + 0x609c]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.004477e0
jmp case.0x428dbc.1
fld1
mov edx, dword [ebx + 0x609c]
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.00444470
jmp case.0x428dbc.1
cmp al, 0x6e
jne 0x42ccfe
cmp byte [esp + 0x1f2], 0
jne 0x42cd43
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x60], eax
jmp case.0x428dbc.1
test al, al
jne 0x42cd43
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
call fcn.0044a6e0
mov edx, dword [ebx + 0x609c]
mov ecx, dword [edx]
call fcn.00444970
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x52a8], cl
inc eax
test cl, cl
jne 0x42cd20
mov dword [esp + 0x53ac], 1
jmp case.0x428dbc.1
push 0x19
mov ecx, ebx
call fcn.0041e830
cmp eax, 0xffffffff
je case.0x428dbc.1
mov eax, dword [ebx + eax*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.00447280
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov dword [0x4b34e0], ecx
jmp case.0x428dbc.1
mov ecx, ebx
call fcn.004227e0
mov edx, dword [esp + 0x21f0]
mov eax, dword [esp + 0x21f4]
mov dword [0x4b3328], edx
mov dword [0x4b332c], eax
mov ecx, dword [ebx + 0x5d64]
mov dword [0x4b3338], ecx
jmp case.0x428dbc.1
mov ecx, ebx
call fcn.004227e0
cmp dword [esp + 0x21f4], 0x64
jne 0x42cdcc
mov edx, dword [0x4c08ec]
mov dword [edx + 0x40f40], 0
mov eax, dword [0x4c08ec]
push 0x78
lea ecx, [esp + 0x178]
push 0
push ecx
mov dword [eax + 0x40f44], 1
call fcn.0045ab70
mov eax, dword [esp + 0x2200]
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x42ce3f
cmp eax, 0x64
jne 0x42ce3f
or eax, 0xffffffff
push 0xc8
push eax
push 0x4b3418
mov dword [0x4b333c], eax
mov dword [0x4b3340], eax
mov dword [0x4b3344], eax
mov dword [0x4b3348], eax
mov dword [0x4b334c], eax
call fcn.0045ab70
add esp, 0xc
mov dword [ebx + 0x5d6c], 0
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f0]
mov dword [0x4b333c], edx
mov dword [0x4b3340], eax
mov eax, dword [ebx + 0x5d64]
mov dword [0x4b334c], eax
jmp case.0x428dbc.1
mov ecx, ebx
call fcn.004227e0
mov ecx, dword [0x4c08ec]
push 0x78
lea edx, [esp + 0x178]
push 0
push edx
mov dword [ecx + 0x40f44], 1
call fcn.0045ab70
mov eax, dword [esp + 0x2208]
mov ecx, dword [esp + 0x2204]
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x42cef1
test ecx, ecx
jne 0x42cef1
test eax, eax
jne 0x42cef1
or eax, 0xffffffff
push 0xc8
push eax
push 0x4b3418
mov dword [0x4b3328], eax
mov dword [0x4b332c], eax
mov dword [0x4b3330], eax
mov dword [0x4b3334], eax
mov dword [0x4b3338], eax
call fcn.0045ab70
mov eax, dword [ebx + 0x5d64]
mov dword [0x4b334c], eax
add esp, 0xc
mov dword [ebx + 0x5d6c], 0
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f0]
mov dword [0x4b3328], edx
mov dword [0x4b332c], 0xff
mov dword [0x4b3330], ecx
mov dword [0x4b3334], eax
mov eax, dword [ebx + 0x5d64]
mov dword [0x4b3338], eax
jmp case.0x428dbc.1
xor edi, edi
cmp dword [0x4c0918], edi
jne 0x42cfaa
mov ecx, dword [ebx + 0x5fa0]
mov ecx, dword [ecx]
call fcn.004449f0
test eax, eax
jne 0x42cfaa
mov edx, dword [ebx + 0x5fc8]
mov ecx, dword [edx]
call fcn.004449f0
test eax, eax
jne 0x42cfaa
mov eax, dword [ebx + 0x5ff0]
mov ecx, dword [eax]
call fcn.004449f0
test eax, eax
jne 0x42cfaa
mov ecx, dword [ebx + 0x6018]
mov ecx, dword [ecx]
call fcn.004449f0
test eax, eax
jne 0x42cfaa
mov edx, dword [ebx + 0x6040]
mov ecx, dword [edx]
call fcn.004449f0
test eax, eax
jne 0x42cfaa
mov eax, dword [ebx + 0x6068]
mov ecx, dword [eax]
call fcn.004449f0
test eax, eax
jne 0x42cfaa
cmp dword [esp + 0x21f4], 0x64
jne 0x42cfaa
cmp dword [ebp + 8], edi
je case.0x428dbc.1
mov ecx, ebx
call fcn.004227e0
push 0x78
lea ecx, [esp + 0x178]
push edi
push ecx
call fcn.0045ab70
mov edx, dword [0x4c08ec]
add esp, 0xc
mov dword [edx + 0x40f44], 1
cmp dword [esp + 0x21f4], 0x64
jne 0x42cff5
mov eax, dword [0x4c08ec]
mov dword [eax + 0x40f40], edi
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x40f44], edi
mov esi, dword [esp + 0x21f8]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x280
jl 0x42d027
xor edx, edx
cmp esi, edi
setge dl
dec edx
and edx, 0xfffffb02
add edx, 0x27f
mov esi, edx
mov dword [esp + 0x21f8], esi
mov ecx, dword [esp + 0x21fc]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x168
jl 0x42d057
xor eax, eax
cmp ecx, edi
setge al
dec eax
and eax, 0xfffffd32
add eax, 0x167
mov ecx, eax
mov dword [esp + 0x21fc], ecx
cmp dword [ebp + 8], edi
je 0x42d12a
cmp dword [esp + 0x21f4], 0x64
jne 0x42d12a
mov edx, dword [esp + 0x21f0]
mov dword [0x4b3348], ecx
mov dword [0x4b333c], edx
mov dword [0x4b3340], 0x64
mov dword [0x4b3344], esi
mov eax, dword [ebx + 0x5d64]
push 1
mov ecx, ebx
mov dword [0x4b334c], eax
call fcn.00425530
or eax, 0xffffffff
push 0xc8
mov dword [0x4b3328], eax
mov dword [0x4b332c], eax
mov dword [0x4b3330], eax
mov dword [0x4b3334], eax
mov dword [0x4b3338], eax
or eax, eax
push 0xffffffffffffffff
push 0x4b3350
mov dword [0x4b333c], eax
mov dword [0x4b3340], eax
mov dword [0x4b3344], eax
mov dword [0x4b3348], eax
mov dword [0x4b334c], eax
call fcn.0045ab70
push 0xc8
push 0xffffffffffffffff
push 0x4b3418
call fcn.0045ab70
mov ecx, dword [ebx + 0x5d64]
mov edx, dword [0x4c08ec]
mov dword [0x4b334c], ecx
mov dword [edx + 0x40f44], edi
mov dword [ebx + 0x5d6c], edi
add esp, 0x18
mov dword [0x4c0918], edi
jmp case.0x428dbc.1
mov edx, dword [0x4c0918]
cmp edx, edi
jne 0x42d166
mov eax, dword [esp + 0x21f0]
mov dword [0x4b333c], eax
mov eax, dword [esp + 0x21f4]
mov dword [0x4b3340], eax
mov dword [0x4b3344], esi
mov dword [0x4b3348], ecx
mov ecx, dword [ebx + 0x5d64]
mov dword [0x4b334c], ecx
jmp 0x42d1aa
cmp edx, 0xa
je case.0x428dbc.1
mov edi, dword [esp + 0x21f0]
lea eax, [edx + edx*4]
add eax, eax
add eax, eax
mov dword [eax + 0x4b3404], edi
mov edi, dword [esp + 0x21f4]
mov dword [eax + 0x4b3408], edi
mov dword [eax + 0x4b340c], esi
mov dword [eax + 0x4b3410], ecx
mov ecx, dword [ebx + 0x5d64]
mov dword [eax + 0x4b3414], ecx
xor edi, edi
inc edx
mov ecx, ebx
mov dword [0x4c0918], edx
call fcn.00421e40
test eax, eax
je 0x42d1dc
mov dword [0x4b333c], edi
mov eax, 0x4b3418
jmp 0x42d1d0
mov dword [eax], edi
add eax, 0x14
cmp eax, 0x4b34e0
jl 0x42d1d0
cmp dword [ebp + 8], edi
je case.0x428dbc.1
push 1
mov ecx, ebx
call fcn.00425530
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x60cc]
mov ecx, dword [ecx]
push edx
push eax
call fcn.00401040
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21fc]
test edx, edx
jne 0x42d2c1
mov eax, dword [esp + 0x21f8]
lea esi, [eax + eax*4 + 5]
add esi, esi
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
mov dword [esp + 0x14], esi
call fcn.0044a730
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + esi*4 + 0x5fa0]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00401040
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.00444300
cmp dword [ebp + 8], 0
je case.0x428dbc.1
mov eax, dword [esp + 0x21f8]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
lea ecx, [esp + eax + 0x17c]
lea edx, [esp + eax + 0x178]
mov eax, dword [ebx + esi*4 + 0x5fa0]
push ecx
mov ecx, dword [eax]
push edx
call fcn.004442c0
mov eax, dword [esp + 0x21f8]
lea ecx, [eax + eax*2]
mov dword [esp + ecx*8 + 0x188], 1
jmp case.0x428dbc.1
cmp edx, 0xff
je case.0x428dbc.1
test dl, dl
jns 0x42d397
and edx, 0xf
mov eax, edx
imul eax, eax, 0x10c
mov dword [esp + eax + 0x3db0], 0
mov byte [esp + eax + 0x3cac], 0
mov eax, dword [0x4c08ec]
lea edx, [edx + edx*2]
shl edx, 4
cmp dword [ebp + 8], 0
mov byte [edx + eax + 0x4ce8], 0
jne 0x42d35a
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42d35a
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x688]
and eax, 0xf
lea ecx, [ecx + ecx*2]
inc eax
push 0xffffffffffffffff
add ecx, ecx
lea eax, [eax + eax*4]
push 0
add ecx, ecx
add eax, eax
push ecx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + eax*4 + 0x5fa0]
mov ecx, dword [eax]
push 0
push edx
call fcn.00447b00
jmp case.0x428dbc.1
push 0
push 0x15
push 0x48c94c
mov ecx, ebx
call fcn.00422f70
mov eax, dword [esp + 0x21fc]
and eax, 0xf
imul eax, eax, 0x10c
mov ecx, 0x2d
mov word [esp + eax + 0x3cac], cx
mov dword [esp + eax + 0x3db0], 1
jmp case.0x428dbc.1
test dl, 0x40
je 0x42d597
cmp dword [ebp + 8], 0
jne 0x42d99e
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42d99e
and edx, 0xf
inc edx
lea esi, [edx + edx*4]
add esi, esi
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
mov dword [esp + 0x14], esi
call fcn.0044a6e0
mov eax, dword [esp + 0x21f0]
cmp eax, 3
ja case.0x428dbc.1
jmp dword [eax*4 + 0x431ffc]
mov eax, dword [ebx + esi*4 + 0x5fa0]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [eax]
call fcn.00444470
fld1
push 0xffffffffffffffff
push 0
push 0xc
push ecx
mov ecx, dword [ebx + esi*4 + 0x5fa0]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.004477e0
jmp case.0x428dbc.1
mov edx, dword [ebx + esi*4 + 0x5fa0]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [edx]
call fcn.00444470
fld1
mov eax, dword [ebx + esi*4 + 0x5fa0]
push 0xffffffffffffffff
push 0
push 0xc
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004477e0
mov eax, dword [ebx + esi*4 + 0x5fa0]
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push edx
call fcn.004442c0
fld dword [esp + 0x74]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x80]
fsub qword [0x48ca70]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00444260
fld dword [esp + 0x74]
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
push 0xffffffffffffffff
push 0
push 0xc
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x8c]
fstp dword [esp]
call fcn.0041de40
jmp case.0x428dbc.1
mov eax, dword [ebx + esi*4 + 0x5fa0]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [eax]
call fcn.00444470
fld1
push 0xffffffffffffffff
push 0
push 0xc
push ecx
mov ecx, dword [ebx + esi*4 + 0x5fa0]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.004477e0
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x7c]
push eax
call fcn.004442c0
fld dword [esp + 0x74]
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x80]
fadd qword [0x48ca70]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00444260
fld dword [esp + 0x74]
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
push 0xffffffffffffffff
push 0
push 0xc
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x8c]
fstp dword [esp]
call fcn.0041de40
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x688]
push 0xffffffffffffffff
lea ecx, [eax + eax*2]
mov eax, dword [ebx + esi*4 + 0x5fa0]
add ecx, ecx
push 0
add ecx, ecx
push ecx
mov ecx, dword [eax]
push 1
push edx
call fcn.00447b00
jmp case.0x428dbc.1
test dl, 0x20
je 0x42d5c4
mov ecx, dword [esp + 0x21f0]
and edx, 0xf
inc edx
lea eax, [edx + edx*4]
add eax, eax
mov edx, dword [ebx + eax*4 + 0x5fa0]
push ecx
mov ecx, dword [edx]
mov dword [esp + 0x18], eax
call fcn.004449b0
jmp case.0x428dbc.1
test dl, 0x10
je case.0x428dbc.1
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x40f44], 0
jne case.0x428dbc.1
fild dword [esp + 0x21f0]
and edx, 0xf
inc edx
lea esi, [edx + edx*4]
fstp dword [esp + 0x2c]
add esi, esi
fld dword [esp + 0x2c]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
sub esp, 8
fst dword [esp + 4]
mov dword [esp + 0x1c], esi
fstp dword [esp]
call fcn.004443c0
fild dword [esp + 0x21f8]
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
sub esp, 8
fstp dword [esp + 4]
fild dword [esp + 0x21fc]
fstp dword [esp]
call fcn.00444450
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.004443e0
cmp dword [ebp + 8], 0
je case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
and eax, 0xf
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
lea ecx, [esp + eax + 0x17c]
lea edx, [esp + eax + 0x178]
mov eax, dword [ebx + esi*4 + 0x5fa0]
push ecx
mov ecx, dword [eax]
push edx
call fcn.004442c0
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [esp + 0x21f4]
and eax, 0xf
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + eax + 0x174], ecx
mov ecx, dword [esp + 0x21f8]
mov dword [esp + eax + 0x180], edx
mov dword [esp + eax + 0x184], ecx
mov dword [esp + eax + 0x188], 1
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
test eax, eax
jne 0x42d71e
mov edx, dword [ebx + 0x609c]
mov ecx, dword [edx]
mov dword [esp + 0x14], 0x3f
call fcn.0044a730
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + 0x609c]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00401040
mov eax, dword [ebx + 0x609c]
mov ecx, dword [eax]
call fcn.00444300
jmp case.0x428dbc.1
cmp eax, 0xff
je case.0x428dbc.1
test al, al
jns 0x42d7c4
cmp dword [ebp + 8], 0
mov ecx, dword [0x4c08ec]
mov dword [esp + 0x53ac], 0
mov byte [esp + 0x52a8], 0
mov byte [ecx + 0x50d8], 0
jne 0x42d797
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42d797
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x21fc]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x688]
add edx, edx
add edx, edx
push edx
push 0
push eax
mov dword [esp + 0x28], 0x3f
call fcn.00447b00
jmp case.0x428dbc.1
push 0
push 0x15
push 0x48c94c
mov ecx, ebx
call fcn.00422f70
mov edx, 0x2d
mov word [esp + 0x52a8], dx
mov dword [esp + 0x53ac], 1
jmp case.0x428dbc.1
test al, 0x40
je 0x42d9b3
test esi, esi
jne case.0x428dbc.1
cmp dword [ebp + 8], esi
jne 0x42d99e
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42d99e
mov eax, dword [ebx + 0x609c]
mov ecx, dword [eax]
mov dword [esp + 0x14], 0x3f
call fcn.0044a6e0
mov eax, dword [esp + 0x21f0]
cmp eax, 3
ja case.0x428dbc.1
jmp dword [eax*4 + 0x43200c]
fldz
push ecx
mov ecx, dword [ebx + 0x609c]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.00444470
fld1
mov edx, dword [ebx + 0x609c]
push 0xffffffffffffffff
push 0
push 6
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.004477e0
mov edx, dword [ebx + 0x609c]
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [edx]
call fcn.004442c0
fld dword [esp + 0x70]
mov eax, dword [ebx + 0x609c]
mov ecx, dword [eax]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x74]
fsub qword [0x48ca70]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00444260
fld dword [esp + 0x70]
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push 0
push 6
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x80]
fstp dword [esp]
call fcn.0041de40
jmp case.0x428dbc.1
mov edx, dword [ebx + 0x609c]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [edx]
call fcn.00444470
fld1
mov eax, dword [ebx + 0x609c]
push 0xffffffffffffffff
push 0
push 6
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004477e0
mov eax, dword [ebx + 0x609c]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push edx
call fcn.004442c0
fld dword [esp + 0x70]
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x74]
fadd qword [0x48ca70]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00444260
fld dword [esp + 0x70]
mov edx, dword [ebx + 0x609c]
mov ecx, dword [edx]
push 0xffffffffffffffff
push 0
push 6
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x80]
fstp dword [esp]
call fcn.0041de40
jmp case.0x428dbc.1
mov eax, dword [ebx + 0x609c]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [eax]
call fcn.00444470
push 0xffffffffffffffff
push 0
push 0x14
jmp 0x42ccb0
mov eax, dword [esp + 0x21f4]
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
push 0xffffffffffffffff
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x688]
push 0
add edx, edx
add edx, edx
push edx
push 1
push eax
call fcn.00447b00
jmp case.0x428dbc.1
push 0
push 0x15
push 0x48c94c
mov ecx, ebx
call fcn.00422f70
jmp case.0x428dbc.1
test al, 0x20
je 0x42d9d9
mov edx, dword [esp + 0x21f0]
mov eax, dword [ebx + 0x609c]
mov ecx, dword [eax]
push edx
mov dword [esp + 0x18], 0x3f
call fcn.004449b0
jmp case.0x428dbc.1
test al, 0x10
je case.0x428dbc.1
fild dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 0x34]
mov dword [esp + 0x1c], 0x3f
fld dword [esp + 0x34]
fst dword [esp + 4]
fstp dword [esp]
call fcn.004443c0
fild dword [esp + 0x21f8]
mov edx, dword [ebx + 0x609c]
mov ecx, dword [edx]
sub esp, 8
fstp dword [esp + 4]
fild dword [esp + 0x21fc]
fstp dword [esp]
call fcn.00444450
mov eax, dword [ebx + 0x609c]
mov ecx, dword [eax]
call fcn.004443e0
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21fc]
test dl, 0x20
je 0x42da7c
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x5c], 0x3c
test eax, eax
je 0x42da69
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x21f4]
mov dword [esp + 0x84], ecx
jmp case.0x428dbc.1
test dl, 0x10
je 0x42db0c
and edx, 0xf
mov dword [esp + 0x21fc], edx
lea edx, [edx + edx*4 + 5]
add edx, edx
cmp dword [ebp + 8], 0
mov dword [esp + 0x14], edx
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
cmp dword [esp + 0x84], 0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x21f8]
mov edx, dword [ebx + edx*4 + 0x5fa0]
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [esp + 0x2200]
jne 0x42daf0
push ecx
mov ecx, dword [esp + 0x2200]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00447620
jmp case.0x428dbc.1
add ecx, 0x5a
push ecx
mov ecx, dword [esp + 0x2200]
add eax, 0x5a
push eax
push ecx
mov ecx, dword [edx]
call fcn.00447700
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f8]
mov dword [esp + 0x20], 0
test al, 0x40
je 0x42db31
and eax, 0xf
mov dword [esp + 0x20], 1
mov dword [esp + 0x21f8], eax
lea esi, [eax + eax*4 + 5]
add esi, esi
cmp dword [esp + eax*4 + 0xd4], 0
mov dword [esp + 0x14], esi
jne 0x42db92
cmp dword [esp + 0x20], 0
je 0x42db92
mov edx, dword [ebx + esi*4 + 0x5fa0]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edx]
call fcn.004442e0
fld dword [esp + 0x24]
mov edi, dword [esp + 0x21f8]
call fcn.0045b7b0
fld dword [esp + 0x28]
mov dword [esp + edi*8 + 0xac], eax
call fcn.0045b7b0
mov edx, dword [esp + 0x21fc]
mov dword [esp + edi*8 + 0xb0], eax
cmp dword [ebp + 8], 0
jne 0x42dc88
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42dc88
lea edi, [edx + edx*2]
add edi, edi
jne 0x42dbb5
lea edi, [eax + 0x3c]
cmp dword [esp + 0x20], 0
je 0x42dc4e
mov edx, dword [ebx + esi*4 + 0x5fa0]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [edx]
call fcn.004442c0
mov ecx, dword [esp + 0x21f8]
mov eax, dword [esp + ecx*8 + 0xac]
mov dword [esp + 0x2c], eax
cmp eax, 0xffffffff
je 0x42dc02
fild dword [esp + 0x2c]
fstp dword [esp + 0x24]
fild dword [esp + ecx*8 + 0xb0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
push 0xffffffffffffffff
push 0
push edi
call fcn.0045b7b0
fld dword [esp + 0x30]
add eax, dword [esp + 0x2200]
push eax
call fcn.0045b7b0
add eax, dword [esp + 0x2200]
push eax
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.004474c0
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x20]
mov dword [esp + edx*4 + 0xd4], eax
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
mov eax, dword [ebx + esi*4 + 0x5fa0]
push 0xffffffffffffffff
push 0
push edi
push ecx
mov ecx, dword [eax]
push edx
call fcn.004474c0
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x20]
mov dword [esp + edx*4 + 0xd4], eax
jmp case.0x428dbc.1
cmp dword [esp + 0x20], 0
je 0x42dcf4
mov eax, dword [ebx + esi*4 + 0x5fa0]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
call fcn.004442c0
mov ecx, dword [esp + 0x21f8]
mov eax, dword [esp + ecx*8 + 0xac]
mov dword [esp + 0x2c], eax
cmp eax, 0xffffffff
je 0x42dcd1
fild dword [esp + 0x2c]
fstp dword [esp + 0x24]
fild dword [esp + ecx*8 + 0xb0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
call fcn.0045b7b0
fld dword [esp + 0x24]
add eax, dword [esp + 0x21f4]
push eax
call fcn.0045b7b0
add eax, dword [esp + 0x21f4]
jmp 0x42dd03
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
push edx
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
push eax
call fcn.00401040
mov edx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x20]
mov dword [esp + edx*4 + 0xd4], eax
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
mov dword [esp + 0x14], 0x3f
test al, 0x30
je 0x42dddc
cmp dword [ebx + 0x6b8], 0
je case.0x428dbc.1
and eax, 0xf
mov dword [esp + 0x21fc], eax
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + 0x609c]
mov ecx, dword [edx]
push 0x64
push 0x64
call fcn.004088f0
mov eax, dword [esp + 0x21fc]
mov ecx, dword [ebx + 0x6b8]
mov edx, dword [esp + 0x21f8]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x21fc]
push ecx
mov ecx, dword [esp + 0x21fc]
push edx
mov edx, dword [ebx + 0x609c]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00447ce0
mov eax, dword [0x4c08ec]
lea ecx, [eax + 0x5258]
push ecx
add eax, 0x50d8
push str._p__s
push eax
call fcn.0045b724
mov edx, dword [0x4c08ec]
add esp, 0xc
mov byte [edx + 0x5258], 0
jmp case.0x428dbc.1
test al, 0x20
je 0x42de0a
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x5c], 0x3c
test eax, eax
je 0x42ddf7
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x21f4]
mov dword [esp + 0x84], eax
jmp case.0x428dbc.1
test al, 0x10
je 0x42deab
and eax, 0xf
lea edx, [eax + eax*4 + 5]
add edx, edx
cmp dword [ebp + 8], 0
mov dword [esp + 0x21fc], eax
mov dword [esp + 0x14], edx
jne case.0x428dbc.1
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne case.0x428dbc.1
push 0xffffffffffffffff
push eax
cmp dword [esp + 0x8c], eax
jne 0x42de7b
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x2200]
push ecx
mov ecx, dword [esp + 0x2200]
push eax
mov eax, dword [esp + 0x2200]
push ecx
mov ecx, dword [ebx + edx*4 + 0x5fa0]
mov ecx, dword [ecx]
push eax
call fcn.00447620
jmp case.0x428dbc.1
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2200]
mov edx, dword [ebx + edx*4 + 0x5fa0]
push eax
mov eax, dword [esp + 0x2200]
push ecx
mov ecx, dword [esp + 0x2200]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00447700
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
je 0x42ded3
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + 0x609c]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00401040
jmp case.0x428dbc.1
test eax, eax
jne 0x42df0c
mov eax, dword [ebx + 0x609c]
mov ecx, dword [eax]
call fcn.0044a730
mov ecx, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
mov eax, dword [ebx + 0x609c]
push 0xffffffffffffffff
push 0
push 0x3c
push ecx
mov ecx, dword [eax]
push edx
call fcn.004474c0
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
call fcn.0044a730
mov eax, dword [esp + 0x21fc]
mov ecx, dword [esp + 0x21f0]
push 0xffffffffffffffff
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x21f8]
push 0
add edx, edx
push edx
mov edx, dword [ebx + 0x609c]
push eax
push ecx
mov ecx, dword [edx]
call fcn.004474c0
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
test eax, eax
jne 0x42df98
mov ecx, dword [0x4c08ec]
push 0xbb
push 0x63
call fcn.0040ccd0
cmp eax, 0x63
je 0x42df94
mov ecx, dword [0x4c08ec]
push 0xbb
push 0x63
call fcn.0040ccd0
mov ecx, dword [0x4c08ec]
inc eax
push eax
push 0xbb
push 0x63
call fcn.0040d2c0
push 0
jmp 0x42dfa8
cmp eax, 1
jne 0x42dfa1
push 2
jmp 0x42dfa8
cmp eax, 2
jne 0x42dfcb
push 8
mov ecx, dword [0x4c08ec]
push 0xbb
push 0x63
call fcn.0040ccd0
mov ecx, dword [0x4c08f4]
push eax
call fcn.0043ba50
jmp case.0x428dbc.1
cmp eax, 0xa
jne 0x42dfe2
mov ecx, dword [0x4c08f4]
push 8
call fcn.0043b100
jmp case.0x428dbc.1
cmp eax, 0xb
jne 0x42dff9
mov ecx, dword [0x4c08f4]
push 8
call fcn.0043b140
jmp case.0x428dbc.1
cmp eax, 0x63
jne case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x7c], eax
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
push 0
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040c9d0
lea edx, [esp + 0x7564]
mov esi, 1
mov cl, byte [eax]
mov byte [edx], cl
add eax, esi
add edx, esi
test cl, cl
jne 0x42e033
xor eax, eax
jmp 0x42e050
mov cl, byte [esp + eax + 0x7564]
mov byte [esp + eax + 0x240c], cl
add eax, esi
test cl, cl
jne 0x42e050
cmp dword [esp + 0x21f4], 0
mov dword [esp + 0x2510], esi
je 0x42e080
mov dword [esp + 0x2510], 0
cmp dword [esp + 0x21f0], 0xff
mov dword [esp + 0x2514], esi
mov dword [esp + 0x2518], esi
je 0x42e0bc
mov edx, dword [0x4c08ec]
lea ecx, [esp + 0x7564]
add edx, 0x55b8
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
add ecx, esi
add edx, esi
test al, al
jne 0x42e0b0
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x21f0]
mov dword [edx + 0x55d8], eax
jmp case.0x428dbc.1
mov ecx, dword [0x4c08ec]
mov eax, dword [ecx + 0x40f48]
xor edi, edi
mov dword [esp + 0x14], edi
cmp eax, edi
je 0x42e110
mov ecx, dword [0x4c08f4]
push eax
push edi
call fcn.0043c4f0
mov eax, dword [0x4c08ec]
mov edx, dword [eax + 0x40f48]
mov dword [eax + 0x3c], edx
mov eax, dword [0x4c08ec]
mov dword [eax + 0x40f48], edi
mov ecx, dword [esp + 0x21f0]
push edi
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040c9d0
lea edx, [esp + 0x7564]
mov esi, 1
mov cl, byte [eax]
mov byte [edx], cl
add eax, esi
add edx, esi
test cl, cl
jne 0x42e130
mov ecx, dword [esp + 0x21f0]
cmp ecx, 0xff
jne 0x42e186
push edi
mov ecx, ebx
call fcn.004224c0
push 0x114
lea edx, [esp + 0x2410]
push edi
push edx
call fcn.0045ab70
mov eax, dword [0x4c08ec]
mov byte [eax + 0x55b8], 0
mov ecx, dword [0x4c08ec]
add esp, 0xc
mov dword [ecx + 0x55d8], edi
jmp 0x42e222
mov eax, dword [esp + 0x21f4]
cmp eax, 2
jl 0x42e1bd
xor eax, eax
jmp 0x42e1a0
mov cl, byte [esp + eax + 0x7564]
mov byte [esp + eax + 0x240c], cl
add eax, esi
test cl, cl
jne 0x42e1a0
mov dword [esp + 0x2510], edi
jmp 0x42e21b
cmp eax, esi
jne 0x42e1f6
mov edx, dword [0x4c08ec]
cmp dword [edx + 0x55d8], ecx
je 0x42e222
xor eax, eax
jmp 0x42e1e0
mov cl, byte [esp + eax + 0x7564]
mov byte [esp + eax + 0x240c], cl
add eax, esi
test cl, cl
jne 0x42e1e0
jmp 0x42e214
xor eax, eax
jmp 0x42e200
mov cl, byte [esp + eax + 0x7564]
mov byte [esp + eax + 0x240c], cl
add eax, esi
test cl, cl
jne 0x42e200
mov dword [esp + 0x2510], esi
mov dword [esp + 0x2514], esi
cmp dword [esp + 0x21f0], 0xff
je 0x42e24e
mov edx, dword [0x4c08ec]
lea ecx, [esp + 0x7564]
add edx, 0x55b8
mov al, byte [ecx]
mov byte [edx], al
add ecx, esi
add edx, esi
test al, al
jne 0x42e242
mov eax, dword [esp + 0x21f0]
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x55d8], eax
cmp dword [ebp + 8], edi
jne case.0x428dbc.1
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x55d8]
add eax, 0x64
push eax
mov ecx, ebx
call fcn.00421a00
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
cmp eax, 0xff
jne 0x42e2d5
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x40f48]
test ecx, ecx
je case.0x428dbc.1
mov dword [eax + 0x3c], ecx
mov ecx, dword [0x4c08ec]
mov edx, dword [ecx + 0x3c]
mov ecx, dword [0x4c08f4]
push edx
push 0
call fcn.0043c4f0
mov eax, dword [0x4c08ec]
mov dword [eax + 0x40f48], 0
jmp case.0x428dbc.1
cmp eax, 0xfe
jne 0x42e3dc
xor esi, esi
mov edx, esi
imul edx, edx, 0x114
cmp dword [esp + edx + 0x2514], 0
lea eax, [esp + edx + 0x2514]
mov dword [esp + 0x18], eax
je 0x42e3cd
cmp dword [ebx + 0x6200], 0
jne 0x42e3cd
lea edi, [esi - 8]
cmp edi, 3
ja 0x42e333
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x42e3cd
cmp dword [ebx + 0x3d0c], eax
jne 0x42e3cd
test esi, esi
jne 0x42e385
cmp dword [esp + 0x2518], esi
je 0x42e34d
mov ecx, dword [0x4c08f4]
push 1
call fcn.0043b0f0
mov ecx, dword [esp + 0x2510]
push ecx
mov ecx, dword [0x4c08f4]
push 0
lea edx, [esp + 0x2414]
push edx
call fcn.0043d070
mov eax, dword [esp + 0x251c]
test eax, eax
jle 0x42e3c3
mov ecx, dword [0x4c08f4]
push 0
push eax
call fcn.0043ba50
jmp 0x42e3c3
lea eax, [esi - 2]
cmp eax, 3
ja 0x42e3a1
mov ecx, dword [esp + edx + 0x2510]
push ecx
push 1
lea edx, [esp + edx + 0x2414]
push edx
jmp 0x42e3b8
cmp edi, 3
ja 0x42e3c3
mov eax, dword [esp + edx + 0x2510]
push eax
push 2
lea ecx, [esp + edx + 0x2414]
push ecx
mov ecx, dword [0x4c08f4]
call fcn.0043d070
mov edx, dword [esp + 0x18]
mov dword [edx], 0
inc esi
cmp esi, 0xc
jl 0x42e2e2
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x40f48], ecx
mov esi, dword [0x4c08ec]
mov ecx, dword [esi + 0x3c]
imul ecx, dword [esp + 0x21f0]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x3c], eax
mov eax, dword [0x4c08ec]
mov ecx, 0x64
cmp dword [eax + 0x3c], ecx
jle 0x42e426
mov dword [eax + 0x3c], ecx
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x3c], 0
jge 0x42e438
mov dword [eax + 0x3c], 0
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x3c]
push ecx
mov ecx, dword [0x4c08f4]
push 0
call fcn.0043c4f0
jmp case.0x428dbc.1
push 2
mov ecx, ebx
call fcn.004224c0
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x2cac], cl
inc eax
test cl, cl
jne 0x42e460
mov edx, dword [0x4c08ec]
mov dword [esp + 0x2db0], 0
mov dword [esp + 0x2db4], 1
lea ecx, [esp + 0x1f0]
add edx, 0x40cb0
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42e4a0
jmp case.0x428dbc.1
push 2
mov ecx, ebx
call fcn.004224c0
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x2dc0], cl
inc eax
test cl, cl
jne 0x42e4c0
mov edx, dword [0x4c08ec]
mov dword [esp + 0x2ec4], 0
mov dword [esp + 0x2ec8], 1
lea ecx, [esp + 0x1f0]
add edx, 0x40cb0
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42e500
jmp case.0x428dbc.1
push 2
mov ecx, ebx
call fcn.004224c0
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x1f0]
mov byte [esp + eax + 0x2cac], cl
inc eax
test cl, cl
jne 0x42e520
mov edx, dword [0x4c08ec]
mov dword [esp + 0x2db0], 0
mov dword [esp + 0x2db4], 1
lea ecx, [esp + 0x1f0]
add edx, 0x40cb0
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42e560
jmp case.0x428dbc.1
test esi, esi
jne case.0x428dbc.1
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x5674]
mov ecx, dword [ebx + 0x2864]
push eax
call fcn.004381e0
cmp byte [eax], 0x16
jne 0x42e5eb
mov esi, 3
lea esp, [esp]
mov ecx, dword [0x4c08ec]
mov edx, dword [ecx + 0x5674]
mov ecx, dword [ebx + 0x2864]
inc edx
push edx
call fcn.004381e0
movsx eax, byte [eax]
or dword [esp + 0x21f0], eax
mov eax, dword [0x4c08ec]
add dword [eax + 0x5674], esi
mov ecx, dword [0x4c08ec]
mov edx, dword [ecx + 0x5674]
mov ecx, dword [ebx + 0x2864]
push edx
call fcn.004381e0
cmp byte [eax], 0x16
je 0x42e5a0
mov eax, dword [esp + 0x21f0]
mov dword [ebx + 0x628], eax
cmp dword [esp + 0x21f0], 0x20
jne case.0x428dbc.0
call dword [0x48b3bc]
mov dword [ebx + 0x6224], eax
mov dword [esp + 0x34], 1
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
cmp dword [ebp + 0xc], 0
jne case.0x428dbc.1
xor edi, edi
push edi
mov ecx, ebx
call fcn.00425f50
push edi
mov ecx, ebx
call fcn.004224c0
push 1
mov ecx, ebx
call fcn.004224c0
push 2
mov ecx, ebx
call fcn.004224c0
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x8c], edi
jne case.0x428dbc.1
mov edx, dword [0x4c0874]
mov dword [edx + 0x128], 1
mov eax, dword [0x4c0874]
mov esi, dword [eax + 0x18]
push str..mpg
lea ecx, [esp + 0x1f4]
push ecx
mov dword [eax + 0x18], edi
mov eax, dword [0x4c0874]
lea edx, [esp + 0x7674]
push str.MOVIE
push edx
mov dword [eax + 0x12c], 1
call fcn.00406d20
mov eax, dword [0x4c086c]
push eax
lea ecx, [esp + 0x7680]
push ecx
call fcn.00453860
mov edx, dword [0x4c0874]
mov dword [edx + 0x12c], 0xffffffff
mov eax, dword [0x4c0874]
mov dword [eax + 0x18], esi
mov ecx, dword [0x4c0874]
add esp, 0x18
mov dword [ecx + 0x128], edi
jmp case.0x428dbc.1
cmp dword [ebp + 0xc], 0
jne 0x42e736
cmp dword [ebp + 8], 0
jne 0x42e736
call fcn.0045bb6b
cdq
idiv dword [esp + 0x21f0]
mov ecx, dword [0x4c08ec]
push edx
push 2
push 0x63
call fcn.0040d2c0
mov ecx, dword [0x4c08ec]
push 2
push 0x63
call fcn.0040ccd0
mov ecx, dword [ebx + 0x2868]
push eax
call fcn.00402320
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x1b4f8]
mov edx, dword [eax + ecx*4 + 0x1c188]
push edx
inc ecx
push 2
mov dword [eax + 0x1b4f8], ecx
push 0x63
jmp 0x430ecf
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x2c98
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e770
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
cmp eax, 0x10
ja case.0x428dbc.1
jmp dword [eax*4 + 0x43201c]
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
mov byte [ebx + 0x28d8], 0
add edx, 0x2958
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e7b0
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
mov byte [ebx + 0x2918], 0
add edx, 0x2998
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e7e0
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x28d8
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e802
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x2918
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e824
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x29d8
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e846
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x2a18
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e868
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x2ad8
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e890
mov edx, dword [0x4c0874]
mov eax, dword [edx + 8]
mov dword [ebx + 0x5d5c], eax
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2a58]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e8c1
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2a98]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e8e3
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2b18]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e905
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2b58]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e927
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2b98]
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e950
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2c18]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e972
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, eax
mov ecx, ebx
sub ecx, edx
lea edx, [ecx + 0x2c58]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42e994
mov ecx, dword [0x4c087c]
push 0xea60
call fcn.00442ee0
jmp case.0x428dbc.1
mov eax, dword [ebx + 0x3cf4]
mov ecx, dword [0x4c08ec]
cmp dword [ecx + eax*4 + 0x44e8], 0
je 0x42e9dc
lea edx, [ebx + 0x2958]
push edx
mov ecx, ebx
call fcn.0041fc90
jmp case.0x428dbc.1
mov ecx, dword [0x4c08e4]
push 0xffffffffffffffff
push eax
mov eax, dword [ebx + 0x28b0]
push eax
call fcn.00418960
test eax, eax
je case.0x428dbc.1
mov ecx, dword [ebx + 0x3cf0]
mov edx, dword [ebx + 0x3cec]
push ecx
push edx
jmp 0x42ea3a
mov eax, dword [ebx + 0x3cf4]
mov ecx, dword [ebx + 0x28d4]
push 0xffffffffffffffff
push eax
push ecx
mov ecx, dword [0x4c08e4]
call fcn.00418960
test eax, eax
je case.0x428dbc.1
mov edx, dword [ebx + 0x3cf0]
mov eax, dword [ebx + 0x3cec]
push edx
push eax
mov ecx, dword [0x4c08e4]
call fcn.00412db0
mov ecx, dword [0x4c08e4]
mov esi, 1
push esi
call fcn.00417970
xor eax, eax
mov dword [ebx + 0x3ce4], esi
mov dword [ebx + 0x3cf0], eax
mov dword [esp + 0x40], 0x59
mov dword [esp + 0x34], esi
mov dword [ebx + 0x3cec], eax
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x3cf4]
mov edx, dword [ebx + 0x28d0]
push ecx
mov ecx, dword [0x4c08e8]
push 0x13
push edx
call fcn.00418960
test eax, eax
je case.0x428dbc.1
mov eax, dword [ebx + 0x3cf0]
mov ecx, dword [ebx + 0x3cec]
push eax
push ecx
mov ecx, dword [0x4c08e8]
call fcn.00412db0
mov ecx, dword [0x4c08e8]
xor esi, esi
push esi
call fcn.00417970
mov dword [ebx + 0x3ce4], 2
mov dword [ebx + 0x3cf0], esi
mov dword [esp + 0x40], 0x5a
mov dword [esp + 0x34], 1
mov dword [ebx + 0x3cec], esi
jmp case.0x428dbc.1
mov edx, dword [esp + 0x21f0]
mov dword [ebx + 0x3cec], edx
mov eax, dword [esp + 0x21f4]
mov dword [ebx + 0x3cf0], eax
mov ecx, dword [esp + 0x21fc]
mov dword [ebx + 0x3cf4], ecx
jmp case.0x428dbc.1
lea edx, [esp + 0x1f0]
push edx
mov ecx, ebx
call fcn.0041fc90
jmp case.0x428dbc.1
push 0
lea eax, [esp + 0x1f4]
push eax
mov ecx, ebx
call fcn.00432d20
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
lea ecx, [eax + 0xb2b48]
push 0x56fe4
push ecx
add eax, 0x4b80
push eax
call fcn.0045ada0
mov edx, dword [esp + 0x2200]
mov eax, dword [0x4c08ec]
add esp, 0xc
push edx
add eax, 0x4b88
push eax
mov ecx, ebx
call fcn.004260e0
mov eax, dword [0x4c08ec]
lea ecx, [eax + 0xb2b48]
push 0x56fe4
push ecx
add eax, 0x4b80
push eax
call fcn.0045ada0
mov eax, dword [0x4c08ec]
mov edx, dword [eax + 0x5680]
xor esi, esi
add esp, 0xc
mov dword [esp + 0x94], edx
cmp dword [esp + 0x21f4], esi
jne 0x42ebcf
mov dword [eax + 0x109b34], esi
mov dword [ebx + 0x2cdc], esi
mov eax, dword [0x4c08ec]
mov dword [eax + 0x10], esi
mov ecx, dword [esp + 0x21f4]
push ecx
push 1
mov ecx, ebx
call fcn.004257d0
push 0x3564
lea edx, [esp + 0x3880]
push esi
push edx
call fcn.0045ab70
push 0x400
lea eax, [ebx + 0x28d8]
push esi
push eax
call fcn.0045ab70
add esp, 0x18
cmp dword [ebx + 0x5d44], esi
je 0x42ec44
mov ecx, dword [ebx + 0x28a4]
mov edx, dword [ecx + 0x28]
mov eax, dword [ecx + 0x24]
push edx
mov edx, dword [ecx + 0x20]
push eax
push edx
call fcn.0041a6a0
mov ecx, dword [ebx + 0x28a8]
mov eax, dword [ecx + 0x28]
mov edx, dword [ecx + 0x24]
push eax
mov eax, dword [ecx + 0x20]
push edx
push eax
call fcn.0041a6a0
mov dword [ebx + 0x5d44], esi
cmp dword [esp + 0x21f4], esi
jne 0x42ec8c
mov ecx, dword [ebx + 0x6e4]
push ecx
mov ecx, dword [0x4c08dc]
call fcn.00407810
mov eax, dword [esp + 0x21f4]
mov ecx, dword [0x4c08ec]
lea eax, [eax + eax*4 + 5]
add eax, eax
add eax, eax
push eax
call fcn.0040e1e0
mov ecx, dword [0x4c08dc]
push eax
push 1
mov dword [esp + 0x54], eax
call fcn.00407780
inc dword [esp + 0x8c]
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
mov edx, ebx
mov ecx, eax
sub edx, ecx
add edx, 0x2bd8
jmp 0x42ecb0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x42ecb0
jmp case.0x428dbc.1
mov edx, dword [0x4c08ec]
mov byte [edx + 0x40cb0], 0
mov eax, dword [0x4c08ec]
push 0x80
add eax, 0x55e0
push 0
push eax
call fcn.0045ab70
push 0x800
lea ecx, [ebx + 0x2ce4]
push 0
push ecx
call fcn.0045ab70
push 0x800
lea edx, [ebx + 0x34e4]
push 0
push edx
call fcn.0045ab70
mov ecx, dword [0x4c08ec]
add esp, 0x24
lea eax, [ecx + 0x4b88]
push eax
call fcn.0040eb10
mov ecx, dword [0x4c08ec]
lea edx, [ecx + 0x4b88]
push edx
call fcn.0040cbc0
cmp eax, 0xffffffff
je 0x42ed62
mov ecx, dword [ebx + 0x2868]
call fcn.00402a10
mov eax, dword [0x4c08ec]
mov ecx, dword [eax + 0x1b4f0]
mov dword [eax + 0x1b4f4], ecx
mov eax, dword [0x4c08ec]
mov edx, dword [eax + 0x1b4f8]
mov dword [eax + 0x1b4fc], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x25
jl 0x42ed70
cmp ecx, 0x2c
jle 0x42ed7e
mov edx, dword [0x4c08ec]
mov byte [eax + edx + 0x4c28], 0
add eax, 0x30
inc ecx
cmp eax, 0x990
jl 0x42ed66
mov ecx, dword [0x4c08ec]
call fcn.00453af0
push 0
jmp 0x42edf0
mov ecx, dword [0x4c08ec]
lea edx, [ecx + 0x4b88]
push edx
call fcn.0040eb10
mov ecx, dword [ebx + 0x2868]
call fcn.00402a10
xor ecx, ecx
xor eax, eax
lea esp, [esp]
cmp ecx, 0x25
jl 0x42edca
cmp ecx, 0x2c
jle 0x42edd8
mov edx, dword [0x4c08ec]
mov byte [eax + edx + 0x4c28], 0
add eax, 0x30
inc ecx
cmp eax, 0x990
jl 0x42edc0
mov ecx, dword [0x4c08ec]
call fcn.00453af0
push 1
lea eax, [esp + 0x1f4]
push eax
mov ecx, ebx
call fcn.004260e0
lea ecx, [esp + 0x766c]
push ecx
mov ecx, dword [0x4c08d4]
lea edx, [esp + 0x1f4]
push edx
call fcn.004094f0
cmp byte [ebx + 0x2bd8], 0
lea esi, [ebx + 0x2bd8]
je 0x42ee34
push esi
mov ecx, ebx
call fcn.0041fc90
mov byte [esi], 0
push 0x400
lea eax, [ebx + 0x28d8]
push 0
push eax
call fcn.0045ab70
add esp, 0xc
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x5f98]
mov edx, dword [esp + 0x21f4]
mov eax, dword [0x4c08ec]
shl edx, 8
add dword [esp + 0x21f0], edx
mov dword [esp + 0x94], ecx
mov ecx, dword [eax + 0x5674]
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.004381e0
cmp eax, 0x4c
je 0x42eea3
mov edx, dword [ebx + 0x2864]
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x2868]
push edx
push eax
call fcn.00403700
mov eax, dword [0x4c08ec]
xor esi, esi
cmp dword [eax + 0x1b4e4], esi
jne 0x42eec4
mov ecx, dword [esp + 0x21f0]
mov dword [eax + 0x1b4e4], ecx
mov eax, dword [0x4c08ec]
mov edx, dword [esp + 0x21f0]
mov dword [eax + 0x567c], edx
mov eax, dword [ebx + 0x2864]
mov ecx, dword [esp + 0x21f0]
movzx edx, word [eax + ecx*2]
mov eax, dword [0x4c08ec]
mov dword [eax + 0x5678], edx
mov ecx, dword [esp + 0x21f0]
push ecx
mov ecx, dword [ebx + 0x2864]
call fcn.00438650
test eax, eax
mov eax, dword [0x4c08ec]
jne 0x42ef42
cmp dword [eax + 0x20], esi
je case.0x428dbc.1
cmp dword [ebx + 0x2ce0], esi
jne case.0x428dbc.1
mov dword [eax + 0x109b34], esi
mov edx, dword [0x4c08ec]
push 2
mov ecx, ebx
mov dword [edx + 0x40f34], 1
call fcn.00421a00
jmp case.0x428dbc.1
mov dword [eax + 0x40f34], esi
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x21f0]
shl ecx, 8
add eax, ecx
mov ecx, dword [0x4c08ec]
push eax
push eax
lea edx, [ecx + 0x4b88]
push edx
mov dword [esp + 0x21fc], eax
call fcn.0040cbc0
mov ecx, dword [ebx + 0x2868]
push eax
mov eax, dword [0x4c08ec]
push eax
call fcn.00403170
jmp case.0x428dbc.1
mov ecx, dword [0x4c08ec]
mov eax, dword [ecx + 0x5674]
push eax
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.0041dea0
mov edx, dword [0x4c08ec]
mov eax, dword [edx + 0x5674]
mov ecx, dword [ebx + 0x2864]
inc eax
push eax
call fcn.004381e0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42efd0
mov ecx, dword [0x4c08ec]
sub eax, edx
add eax, 2
add dword [ecx + 0x5674], eax
jmp case.0x428dbc.1
mov cx, word [0x48ca50]
lea edx, [ebx + 0x2ce4]
mov word [edx], cx
mov al, byte [0x48ca52]
mov byte [edx + 2], al
lea eax, [esp + 0x1f0]
mov esi, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f010
mov edi, edx
sub eax, esi
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42f020
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
mov ecx, ebx
call fcn.0041fd70
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
je 0x42f0a1
lea ecx, [esp + 0x1f0]
push ecx
lea edx, [esp + 0x2410]
push edx
lea eax, [esp + 0x3884]
push eax
mov ecx, ebx
call fcn.00424330
mov ecx, dword [0x4c08ec]
lea edx, [ecx + 0x4b88]
push edx
call fcn.0040cbc0
mov ecx, dword [ebx + 0x2868]
push eax
call fcn.00402b40
mov ecx, dword [ebx + 0x2868]
mov edx, dword [ecx]
sub edx, eax
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x1b4e8], edx
jl case.0x428dbc.1
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x10], 0
je 0x42f0cc
cmp byte [esp + 0x2cac], 0
jne 0x42f0cc
mov ecx, dword [eax + 0x3c]
push ecx
mov ecx, dword [0x4c08f4]
push 0
call fcn.0043c4f0
mov eax, dword [0x4c08ec]
mov byte [eax + 0x40d50], 0
mov ecx, dword [0x4c08ec]
lea edx, [ecx + 0x40cb0]
push edx
call fcn.0040e350
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x42f138
push eax
lea ecx, [ebx + 0x30e4]
push 0x48ca48
push ecx
call fcn.0045b724
lea eax, [esp + 0x1fc]
add esp, 0xc
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42f110
lea edi, [ebx + 0x30e4]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42f120
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42f15a
lea eax, [esp + 0x1f0]
lea edx, [ebx + 0x30e4]
mov ecx, eax
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42f150
lea esi, [ebx + 0x30e4]
push esi
mov ecx, ebx
call fcn.0041fd70
mov edx, dword [0x4c08ec]
mov ecx, esi
add edx, 0x40f58
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42f176
cmp dword [esp + 0x8c], 0
je 0x42f1a0
push 0x210
lea edx, [ebx + 0x5d84]
push 0
push edx
call fcn.0045ab70
add esp, 0xc
mov eax, dword [ebx + 0x5f98]
mov edx, dword [0x4c08ec]
mov dword [esp + 0xa8], 1
mov dword [esp + 0x94], eax
lea ecx, [ebx + 0x2ce4]
add edx, 0x40e54
lea ebx, [ebx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42f1d0
mov edx, dword [0x4c08ec]
lea ecx, [ebx + 0x30e4]
add edx, 0x40d50
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x42f1f0
mov eax, dword [0x4c08ec]
add eax, 0x40d50
push 0x48b810
push eax
call fcn.0045a2c0
add esp, 8
test eax, eax
je case.0x428dbc.1
mov eax, dword [0x4c08ec]
add eax, 0x40d50
push 0x48b810
push eax
call fcn.0045a2c0
add esp, 8
mov byte [eax], 0
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
call fcn.0044a730
mov eax, dword [esp + 0x21f8]
mov ecx, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
push eax
mov eax, dword [ebx + edx*4 + 0x5fa0]
push ecx
mov ecx, dword [eax]
call fcn.00401040
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
call fcn.00444300
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
test esi, esi
jne case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
cmp eax, 4
je 0x42f2c8
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + eax*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.0044a6e0
mov eax, dword [esp + 0x21fc]
test eax, eax
jne 0x42f2fb
mov edx, dword [esp + 0x21f8]
mov ecx, dword [esp + 0x21f0]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x21fc]
push 0x3c
push edx
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
push eax
call fcn.004474c0
jmp case.0x428dbc.1
cmp eax, 1
jne 0x42f32b
mov eax, dword [esp + 0x21f0]
fild dword [esp + 0x21f4]
push 0xffffffffffffffff
push 0
push 0x3c
push ecx
mov ecx, dword [ebx + eax*4 + 0x5fa0]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.004478e0
jmp case.0x428dbc.1
cmp eax, 2
jne 0x42f358
mov eax, dword [esp + 0x21f0]
mov edx, dword [esp + 0x21f4]
mov ecx, dword [ebx + eax*4 + 0x5fa0]
mov ecx, dword [ecx]
push 0xffffffffffffffff
push 0
push 0x3c
push edx
call fcn.004479f0
jmp case.0x428dbc.1
cmp eax, 3
jne 0x42f388
mov edx, dword [esp + 0x21f0]
fild dword [esp + 0x21f4]
mov eax, dword [ebx + edx*4 + 0x5fa0]
push 0xffffffffffffffff
push 0
push 0x3c
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004477e0
jmp case.0x428dbc.1
cmp eax, 4
jne 0x42f3ed
cmp dword [ebx + 0x6b8], 0
je case.0x428dbc.1
mov ecx, dword [ebx + 0x60a8]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + 0x60a8]
mov ecx, dword [edx]
push 0x64
push 0x64
call fcn.004088f0
mov eax, dword [ebx + 0x6b8]
mov ecx, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21f4]
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [esp + 0x21fc]
push ecx
mov ecx, dword [ebx + 0x60a8]
mov ecx, dword [ecx]
push edx
push eax
call fcn.00447ce0
jmp case.0x428dbc.1
cmp eax, 5
jne 0x42f413
mov eax, dword [esp + 0x21f4]
mov edx, dword [esp + 0x21f0]
add eax, 0x21
mov dword [esp + 0x58], edx
mov dword [esp + 0xa0], eax
jmp case.0x428dbc.1
cmp eax, 6
jne 0x42f48e
mov edi, dword [esp + 0xa0]
cmp dword [ebx + edi*4 + 0x634], 0
je case.0x428dbc.1
mov esi, dword [esp + 0x58]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
push 0x64
push 0x64
call fcn.004088f0
mov eax, dword [esp + 0x98]
mov ecx, dword [ebx + edi*4 + 0x634]
mov edx, dword [esp + 0x21f8]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x21fc]
push ecx
mov ecx, dword [esp + 0x21fc]
push edx
mov edx, dword [ebx + esi*4 + 0x5fa0]
push eax
push ecx
mov ecx, dword [edx]
call fcn.00447ce0
jmp case.0x428dbc.1
cmp eax, 7
jne case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
mov dword [esp + 0x98], eax
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
test esi, esi
jne case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
test eax, eax
jne 0x42f709
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
call fcn.0044a6e0
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
call fcn.00445230
mov eax, dword [ebx + 0x68c]
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
push eax
call fcn.004440c0
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
push esi
push 0xfffffd24
call fcn.00401040
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
push 0x2d0
push 0x2dc
push esi
push esi
call fcn.00444340
fld dword [0x48ca44]
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x48c730]
fstp dword [esp]
call fcn.00444450
mov eax, dword [esp + 0x21f4]
push 0xffffffffffffffff
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
push esi
add edx, edx
add edx, edx
push edx
push esi
push 0x600
call fcn.004474c0
mov eax, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x6120]
push 0xffffffffffffffff
lea ecx, [eax + eax*2]
add ecx, ecx
push esi
add ecx, ecx
push ecx
mov ecx, dword [edx]
push 0x21c
call fcn.004479f0
lea esi, [ebx + 0x6124]
mov dword [esp + 0x38], 0x35
nop
mov eax, dword [esi]
mov ecx, dword [eax]
call fcn.0044a6e0
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + 0x68c]
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
call fcn.004440c0
call fcn.0045bb6b
neg eax
cdq
mov ecx, 0x500
idiv ecx
mov dword [esp + 0x48], edx
call fcn.0045bb6b
cdq
mov ecx, 0x350
idiv ecx
add edx, 0xffffff80
mov dword [esp + 0x44], edx
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x4c]
add edx, 0xfffffce0
push edx
call fcn.00401040
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0x100
push 0x3e6
push 0
push 0x2d0
call fcn.00444340
call fcn.0045bb6b
cdq
mov ecx, pe_nt_image_headers32
idiv ecx
add edx, 0x14
push edx
push edx
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.004088f0
call fcn.0045bb6b
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push 0
mov edi, edx
mov edx, dword [esp + 0x21fc]
lea eax, [edx + edi]
mov edx, dword [esi]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
push eax
push ecx
mov ecx, dword [edx]
push 0x600
mov dword [esp + 0x60], edi
call fcn.004474c0
mov eax, dword [esp + 0x21f4]
mov edx, dword [esi]
add eax, edi
push 0xffffffffffffffff
lea ecx, [eax + eax*2]
add ecx, ecx
push 0
add ecx, ecx
push ecx
mov ecx, dword [edx]
push 0x21c
call fcn.004479f0
call fcn.0045bb6b
cdq
mov ecx, 5
idiv ecx
push ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [edx]
fdiv qword [0x49c110]
fadd qword [0x496548]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00444470
mov eax, dword [esp + 0x21f4]
fldz
mov edx, dword [esi]
add edi, eax
push 0xffffffffffffffff
lea ecx, [edi + edi*2]
add ecx, ecx
add ecx, ecx
push 0
push ecx
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.004477e0
add esi, 4
sub dword [esp + 0x38], 1
jne 0x42f5a0
mov dword [ebx + 0x630], 1
jmp case.0x428dbc.1
cmp eax, 1
jne 0x42fbb7
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
call fcn.0044a6e0
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + 0x68c]
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
push edx
call fcn.004440c0
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
push 0
push 0xfffffd24
call fcn.00401040
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
push 0x2d0
push 0x2dc
push 0
push 0
call fcn.00444340
fld dword [0x48ca44]
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x48c730]
fstp dword [esp]
call fcn.00444450
mov eax, dword [esp + 0x21f4]
mov edx, dword [ebx + 0x6120]
push 0xffffffffffffffff
lea ecx, [eax + eax*2]
add ecx, ecx
push 0
add ecx, ecx
push ecx
mov ecx, dword [edx]
push 0
push 0x508
call fcn.004474c0
mov eax, dword [esp + 0x21f4]
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
add eax, eax
push 0
add eax, eax
push eax
push 0x21c
call fcn.004479f0
mov edx, dword [ebx + 0x6124]
mov ecx, dword [edx]
call fcn.0044a6e0
mov eax, dword [ebx + 0x6124]
mov ecx, dword [eax]
call fcn.00445230
mov ecx, dword [ebx + 0x68c]
mov edx, dword [ebx + 0x6124]
push ecx
mov ecx, dword [edx]
call fcn.004440c0
mov eax, dword [ebx + 0x6124]
mov ecx, dword [eax]
push 0
push 0x508
call fcn.00401040
mov ecx, dword [ebx + 0x6124]
mov ecx, dword [ecx]
push 0x2d0
push 0x2dc
push 0
push 0
call fcn.00444340
fld dword [0x48ca44]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x48c730]
mov edx, dword [ebx + 0x6124]
fstp dword [esp]
mov ecx, dword [edx]
call fcn.00444450
mov eax, dword [esp + 0x21f4]
mov ecx, dword [ebx + 0x6124]
mov ecx, dword [ecx]
push 0xffffffffffffffff
lea eax, [eax + eax*2]
push 0
add eax, eax
add eax, eax
push eax
push 0
push 0xfffffd24
call fcn.004474c0
mov eax, dword [esp + 0x21f4]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x6124]
mov ecx, dword [eax]
push 0xffffffffffffffff
add edx, edx
push 0
add edx, edx
push edx
push 0x21c
call fcn.004479f0
lea esi, [ebx + 0x6128]
mov dword [esp + 0x38], 0x1b
jmp 0x42f8c0
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.0044a6e0
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.00445230
mov eax, dword [ebx + 0x68c]
mov ecx, dword [esi]
mov ecx, dword [ecx]
push eax
call fcn.004440c0
call fcn.0045bb6b
neg eax
cdq
mov ecx, 0x500
idiv ecx
mov dword [esp + 0x48], edx
call fcn.0045bb6b
cdq
mov ecx, 0x350
idiv ecx
add edx, 0xffffff80
mov dword [esp + 0x44], edx
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x4c]
add edx, 0xfffffce0
push edx
call fcn.00401040
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0x100
push 0x3e6
push 0
push 0x2d0
call fcn.00444340
call fcn.0045bb6b
cdq
mov ecx, pe_nt_image_headers32
idiv ecx
add edx, 0x14
push edx
push edx
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.004088f0
call fcn.0045bb6b
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push 0
mov edi, edx
mov edx, dword [esp + 0x21fc]
lea eax, [edx + edi]
mov edx, dword [esi]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
push eax
push ecx
mov ecx, dword [edx]
push 0x500
call fcn.004474c0
mov eax, dword [esp + 0x21f4]
mov edx, dword [esi]
add eax, edi
push 0xffffffffffffffff
lea ecx, [eax + eax*2]
add ecx, ecx
push 0
add ecx, ecx
push ecx
mov ecx, dword [edx]
push 0x21c
call fcn.004479f0
call fcn.0045bb6b
cdq
mov ecx, 5
idiv ecx
push ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [edx]
fdiv qword [0x49c110]
fadd qword [0x496548]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00444470
mov eax, dword [esp + 0x21f4]
fldz
mov edx, dword [esi]
add edi, eax
push 0xffffffffffffffff
lea ecx, [edi + edi*2]
add ecx, ecx
add ecx, ecx
push 0
push ecx
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.004477e0
add esi, 4
sub dword [esp + 0x38], 1
jne 0x42f8c0
lea esi, [ebx + 0x6194]
mov dword [esp + 0x38], 0x19
mov eax, dword [esi]
mov ecx, dword [eax]
call fcn.0044a6e0
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + 0x68c]
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
call fcn.004440c0
call fcn.0045bb6b
cdq
mov ecx, 0x500
idiv ecx
mov dword [esp + 0x48], edx
call fcn.0045bb6b
cdq
mov ecx, 0x350
idiv ecx
sub esp, 8
add edx, 0xffffff80
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov eax, dword [esi]
mov ecx, dword [eax]
fstp dword [esp + 4]
add edx, 0x820
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esp]
call fcn.00444260
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0x100
push 0x3e6
push 0
push 0x2d0
call fcn.00444340
call fcn.0045bb6b
cdq
mov ecx, pe_nt_image_headers32
idiv ecx
sub esp, 8
add edx, 0x14
mov dword [esp + 0x54], edx
fild dword [esp + 0x54]
mov edx, dword [esi]
mov ecx, dword [edx]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
call fcn.004443c0
call fcn.0045bb6b
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
push 0
mov edi, edx
mov edx, dword [esp + 0x21fc]
lea eax, [edx + edi]
mov edx, dword [esi]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
push eax
push ecx
mov ecx, dword [edx]
push 0xfffffce0
mov dword [esp + 0x60], edi
call fcn.004474c0
mov eax, dword [esp + 0x21f4]
add eax, edi
push 0xffffffffffffffff
lea ecx, [eax + eax*2]
push 0
add ecx, ecx
mov edx, dword [esi]
add ecx, ecx
push ecx
mov ecx, dword [edx]
push 0x21c
call fcn.004479f0
call fcn.0045bb6b
cdq
mov ecx, 5
idiv ecx
push ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [edx]
fdiv qword [0x49c110]
fadd qword [0x496548]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00444470
mov eax, dword [esp + 0x21f4]
fldz
mov edx, dword [esi]
add edi, eax
push 0xffffffffffffffff
lea ecx, [edi + edi*2]
add ecx, ecx
add ecx, ecx
push 0
push ecx
push ecx
mov ecx, dword [edx]
fstp dword [esp]
call fcn.004477e0
add esi, 4
sub dword [esp + 0x38], 1
jne 0x42fa24
mov dword [ebx + 0x630], 1
jmp case.0x428dbc.1
cmp eax, 2
jne 0x42fccd
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
call fcn.0044a6e0
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
call fcn.00445230
mov edx, dword [ebx + 0x68c]
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
push edx
call fcn.004440c0
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
push 0
push 0x118
call fcn.00401040
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
push 0x2d0
push 0x2dc
push 0
push 0
call fcn.00444340
fld dword [0x48ca44]
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x48c730]
fstp dword [esp]
call fcn.00444450
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
push 1
push 1
call fcn.004088f0
fld dword [0x48ca40]
mov eax, dword [esp + 0x21f4]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x6120]
push 0xffffffffffffffff
add edx, edx
push 0
add edx, edx
push edx
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004478e0
fld dword [0x48ca3c]
push 0xffffffffffffffff
push 0
push 0x1e
push ecx
mov ecx, dword [ebx + 0x6120]
fstp dword [esp]
mov ecx, dword [ecx]
call fcn.004478e0
fldz
mov eax, dword [esp + 0x21f4]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x6120]
push 0xffffffffffffffff
add edx, edx
push 0
add edx, edx
push edx
push ecx
mov ecx, dword [eax]
fstp dword [esp]
call fcn.004478e0
mov dword [ebx + 0x630], 1
jmp case.0x428dbc.1
cmp eax, 3
jne 0x42fdb7
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
call fcn.0044a6e0
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
call fcn.00445230
mov eax, dword [ebx + 0x68c]
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
push eax
call fcn.004440c0
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
push 0x28
push 0xffffff38
call fcn.00401040
call fcn.0045bb6b
cdq
mov ecx, 6
idiv ecx
push 0x1f4
mov eax, edx
imul eax, eax, 0xc8
mov dword [esp + 0x18], edx
lea edx, [eax + 0xc8]
push edx
push 0xfa
push eax
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
call fcn.00444340
mov ecx, dword [ebx + 0x6120]
fld dword [0x48ca38]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x48ca34]
fstp dword [esp]
call fcn.00444450
mov edx, dword [ebx + 0x6120]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [edx]
call fcn.00444440
mov eax, dword [esp + 0x21f4]
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
add eax, eax
push 0
add eax, eax
push eax
push 0xffffffffffffffb0
call fcn.004479f0
mov dword [ebx + 0x630], 1
jmp case.0x428dbc.1
cmp eax, 4
jne 0x42fe98
mov edx, dword [ebx + 0x6120]
mov ecx, dword [edx]
call fcn.0044a6e0
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
call fcn.00445230
mov ecx, dword [ebx + 0x68c]
mov edx, dword [ebx + 0x6120]
push ecx
mov ecx, dword [edx]
call fcn.004440c0
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
push 0x28
push 0x500
call fcn.00401040
call fcn.0045bb6b
cdq
mov ecx, 6
idiv ecx
push 0xfa
mov eax, edx
imul eax, eax, 0xc8
mov dword [esp + 0x18], edx
lea edx, [eax + 0xc8]
push edx
push 0
push eax
mov eax, dword [ebx + 0x6120]
mov ecx, dword [eax]
call fcn.00444340
mov ecx, dword [ebx + 0x6120]
fld dword [0x48ca38]
mov ecx, dword [ecx]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.00444450
mov edx, dword [ebx + 0x6120]
fldz
push ecx
fstp dword [esp]
mov ecx, dword [edx]
call fcn.00444440
mov eax, dword [esp + 0x21f4]
mov ecx, dword [ebx + 0x6120]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
add eax, eax
push 0
add eax, eax
push eax
push pe_nt_image_headers32
call fcn.004479f0
mov dword [ebx + 0x630], 1
jmp case.0x428dbc.1
cmp eax, 5
jne 0x430033
lea esi, [ebx + 0x6120]
mov dword [esp + 0x38], 0x36
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.0044a6e0
mov eax, dword [esi]
mov ecx, dword [eax]
call fcn.00445230
mov ecx, dword [ebx + 0x68c]
mov edx, dword [esi]
push ecx
mov ecx, dword [edx]
call fcn.004440c0
call fcn.0045bb6b
cdq
mov ecx, 0x5c8
idiv ecx
sub edx, 0xc8
mov dword [esp + 0x48], edx
call fcn.0045bb6b
neg eax
cdq
mov ecx, 0x5a0
idiv ecx
mov dword [esp + 0x44], edx
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x4c]
push edx
call fcn.00401040
call fcn.0045bb6b
and eax, 0x80000007
jns 0x42ff1b
dec eax
or eax, 0xfffffff8
inc eax
mov dword [esp + 0x14], eax
push 0x104
jne 0x42ff38
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0x314
push 0
push 0x200
jmp 0x42ff5c
cmp eax, 1
jne 0x42ff4f
mov edx, dword [esi]
mov ecx, dword [edx]
push 0x200
push 0
push 0xdc
jmp 0x42ff5c
mov eax, dword [esi]
mov ecx, dword [eax]
push 0xdc
push 0
push 0
call fcn.00444340
call fcn.0045bb6b
cdq
mov ecx, 0x5a
idiv ecx
add edx, 0xa
push edx
push edx
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.004088f0
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
add eax, eax
push 0
add eax, eax
push eax
mov eax, dword [esi]
add ecx, 0x870
push ecx
mov ecx, dword [eax]
push edx
call fcn.004474c0
call fcn.0045bb6b
cdq
mov ecx, 0x168
idiv ecx
push ecx
mov edi, edx
mov edx, dword [esi]
mov ecx, dword [edx]
mov dword [esp + 0x50], edi
fild dword [esp + 0x50]
fstp dword [esp]
call fcn.00444440
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esi]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
add eax, eax
push 0
add eax, eax
push eax
add edi, 0x2d0
push edi
call fcn.004479f0
call fcn.0045bb6b
cdq
mov ecx, 5
idiv ecx
push ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [edx]
fdiv qword [0x49c110]
fadd qword [0x48c710]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00444470
add esi, 4
sub dword [esp + 0x38], 1
jne 0x42feaf
mov dword [ebx + 0x630], 1
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov eax, dword [esp + 0x21f4]
mov edx, dword [ebx + ecx*4 + 0x5fa0]
mov ecx, dword [edx]
push eax
call fcn.004449b0
jmp case.0x428dbc.1
cmp byte [esp + 0x1f0], 0
mov ecx, dword [0x4c08ec]
jne 0x43007e
call fcn.0040e250
jmp case.0x428dbc.1
lea eax, [esp + 0x1f0]
push eax
call fcn.0040e100
jmp case.0x428dbc.1
cmp byte [esp + 0x1f0], 0x2d
jne 0x4300aa
mov ecx, dword [0x4c08ec]
call fcn.0040e290
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
push ecx
mov ecx, dword [0x4c08ec]
lea edx, [esp + 0x1f4]
push edx
call fcn.0040e2c0
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
cmp eax, 3
mov dword [esp + 0x14], eax
jge case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov edx, dword [esp + 0x21f4]
imul ecx, ecx, 0x64
shl eax, 4
imul edx, edx, 0x64
mov dword [esp + eax + 0x144], 1
mov dword [esp + eax + 0x148], ecx
mov ecx, dword [esp + 0x21f8]
mov dword [esp + eax + 0x14c], edx
mov dword [esp + eax + 0x150], ecx
jmp case.0x428dbc.1
mov edx, dword [0x4c08ec]
xor ecx, ecx
mov dword [edx + 0x41e18], ecx
mov eax, dword [esp + 0x21f0]
cmp eax, 0xff
jne 0x430163
mov dword [esp + 0x164], ecx
mov ecx, dword [0x4c08ec]
call fcn.0040e430
mov eax, dword [0x4c08ec]
mov dword [eax + 0x41e18], 1
jmp case.0x428dbc.1
cmp byte [esp + 0x1f0], 0x2d
jne 0x43017d
mov ecx, dword [0x4c08ec]
call fcn.0040e430
jmp case.0x428dbc.1
cmp eax, 0x64
jle 0x43018e
sub eax, 0x100
mov dword [esp + 0x21f0], eax
imul eax, eax, 0x64
push eax
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040e460
jmp case.0x428dbc.1
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x21f0]
mov dword [edx + 0x40f30], eax
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412e90
jmp case.0x428dbc.1
cmp dword [esp + 0x21f0], 0
mov ecx, dword [esp + 0x1c]
push 1
jne 0x4301ec
call fcn.00412af0
jmp case.0x428dbc.1
call fcn.00412b00
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
test eax, eax
jne 0x430211
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412b10
jmp case.0x428dbc.1
cmp eax, 1
jne 0x430225
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00412b30
jmp case.0x428dbc.1
cmp eax, 2
jne 0x43023a
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412b40
jmp case.0x428dbc.1
cmp eax, 3
jne 0x43024f
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412b50
jmp case.0x428dbc.1
cmp eax, 4
jne 0x430264
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412b60
jmp case.0x428dbc.1
cmp eax, 5
jne 0x43027f
mov ecx, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00414710
jmp case.0x428dbc.1
cmp eax, 6
jne 0x43029a
mov edx, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x1c]
push edx
call fcn.004146b0
jmp case.0x428dbc.1
cmp eax, 7
jne 0x4302b5
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.004146e0
jmp case.0x428dbc.1
cmp eax, 8
jne 0x4302d0
mov ecx, dword [esp + 0x21f4]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00412b80
jmp case.0x428dbc.1
cmp eax, 0x63
jne case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
cmp eax, 1
jne 0x4302f4
mov edx, dword [ebx + 0x2870]
mov dword [esp + 0x1c], edx
jmp case.0x428dbc.1
cmp eax, 2
jne 0x430308
mov eax, dword [ebx + 0x2874]
mov dword [esp + 0x1c], eax
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x286c]
mov dword [esp + 0x1c], ecx
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
test eax, eax
jne 0x43032d
lea edx, [esp + 0x1f0]
push edx
push eax
jmp 0x430340
cmp eax, 1
jne case.0x428dbc.1
lea eax, [esp + 0x1f0]
push eax
push 1
mov ecx, dword [ebx + 0x286c]
call fcn.00412f60
mov ecx, dword [ebx + 0x286c]
push 1
call fcn.00412f50
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x1c]
push 1
call fcn.00412b20
jmp case.0x428dbc.1
mov ecx, ebx
call fcn.004227e0
jmp case.0x428dbc.1
mov dword [esp + 0x3a90], 1
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + ecx*4 + 0x5fac]
mov ecx, dword [edx]
call fcn.0044a6e0
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + eax*4 + 0x5fac]
mov ecx, dword [ecx]
call fcn.00444200
mov ecx, dword [esp + 0x21f0]
cmp eax, dword [ebx + ecx*4 + 0x688]
je 0x430451
mov edx, dword [ebx + ecx*4 + 0x5fac]
mov ecx, dword [edx]
call fcn.00445230
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + eax*4 + 0x688]
mov edx, dword [ebx + eax*4 + 0x5fac]
push ecx
mov ecx, dword [edx]
call fcn.004440c0
mov edx, dword [esp + 0x21f0]
lea eax, [esp + 0xe8]
push eax
mov eax, dword [ebx + edx*4 + 0x5fac]
lea ecx, [esp + 0x128]
push ecx
mov ecx, dword [eax]
call fcn.004444d0
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x21f0]
push ecx
mov ecx, dword [ebx + eax*4 + 0x5fac]
mov ecx, dword [ecx]
push edx
push 0
push 0
call fcn.00444340
mov ecx, dword [esp + 0x21f0]
mov eax, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21fc]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
push edx
mov edx, dword [esp + 0x21fc]
add eax, eax
add eax, eax
push eax
mov eax, dword [ebx + ecx*4 + 0x5fac]
mov ecx, dword [eax]
push 0
push edx
call fcn.004474c0
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
mov edx, dword [ebx + ecx*4 + 0x5fac]
mov ecx, dword [edx]
call fcn.00444200
mov ecx, dword [esp + 0x21f0]
cmp eax, dword [ebx + ecx*4 + 0x688]
je 0x43053a
mov eax, dword [ebx + ecx*4 + 0x5fac]
mov ecx, dword [eax]
call fcn.00445230
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + eax*4 + 0x688]
mov edx, dword [ebx + eax*4 + 0x5fac]
push ecx
mov ecx, dword [edx]
call fcn.004440c0
mov edx, dword [esp + 0x21f0]
lea eax, [esp + 0xf0]
push eax
mov eax, dword [ebx + edx*4 + 0x5fac]
lea ecx, [esp + 0x120]
push ecx
mov ecx, dword [eax]
call fcn.004444d0
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x21f0]
push ecx
mov ecx, dword [ebx + eax*4 + 0x5fac]
mov ecx, dword [ecx]
push edx
push 0
push 0
call fcn.00444340
mov ecx, dword [esp + 0x21f0]
mov eax, dword [esp + 0x21f8]
mov edx, dword [esp + 0x21fc]
lea eax, [eax + eax*2]
push 0xffffffffffffffff
push edx
mov edx, dword [esp + 0x21fc]
add eax, eax
add eax, eax
push eax
mov eax, dword [ebx + ecx*4 + 0x5fac]
mov ecx, dword [eax]
push edx
push 0
call fcn.004474c0
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f8]
mov eax, dword [esp + 0x21f0]
mov edx, dword [esp + 0x21f4]
push ecx
mov ecx, dword [ebx + eax*4 + 0x5fac]
mov ecx, dword [ecx]
push edx
call fcn.00401040
jmp case.0x428dbc.1
cmp dword [esp + 0x21f0], 0
jne 0x4305cf
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x21f4]
mov dword [edx + 0x40c9c], eax
mov ecx, dword [0x4c08ec]
mov edx, dword [esp + 0x21f8]
mov dword [ecx + 0x40ca0], edx
jmp case.0x428dbc.1
mov eax, dword [0x4c08ec]
mov ecx, dword [esp + 0x21f4]
mov dword [eax + 0x40ca4], ecx
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x21f8]
mov dword [edx + 0x40ca8], eax
mov eax, dword [esp + 0x21fc]
mov edx, dword [0x4c08ec]
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
mov dword [edx + 0x40cac], ecx
jmp case.0x428dbc.1
push 0xaa
push 0x4bfbe0
call fcn.0044d440
add esp, 8
test eax, eax
jge case.0x428dbc.167
lea esp, [esp]
call fcn.004106c0
cmp eax, 0xffffffff
je 0x430652
push 0xaa
push 0x4bfbe0
call fcn.0044d440
add esp, 8
test eax, eax
jl 0x430630
jmp case.0x428dbc.167
mov eax, dword [0x4c086c]
push 0
push 0
push 2
push eax
call dword [0x48b304]
mov dword [esp + 0x34], 1
cmp dword [esp + 0x21f0], 0
lea esi, [ebx + 0x5fa0]
mov edi, 0x96
jne 0x4306a0
mov ecx, dword [esi]
mov ecx, dword [ecx]
push 0
push 1
call fcn.00445cc0
add esi, 4
sub edi, 1
jne 0x430681
jmp case.0x428dbc.1
mov edx, dword [esi]
mov ecx, dword [edx]
push 0
push 0
call fcn.00445cc0
add esi, 4
sub edi, 1
jne 0x4306a0
jmp case.0x428dbc.1
lea esi, [ebx + 0x5fa0]
mov edi, 0x96
mov eax, dword [esp + 0x21f0]
mov ecx, dword [esi]
mov ecx, dword [ecx]
push eax
push 0
call fcn.00445cc0
mov edx, dword [esi]
mov ecx, dword [edx]
call fcn.00448560
add esi, 4
sub edi, 1
jne 0x4306c5
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f0]
push 0xa
push eax
push ecx
mov ecx, dword [0x4c087c]
call fcn.00442bf0
jmp case.0x428dbc.1
mov ecx, dword [ebx + 0x6220]
mov edx, dword [ecx]
mov eax, dword [esp + 0x21f0]
xor esi, esi
cmp edx, esi
jne 0x430733
cmp dword [ecx + 4], esi
jne 0x430733
cmp eax, 0x63
jne case.0x428dbc.1
cmp eax, esi
jne 0x430753
mov edx, dword [0x4c08ec]
mov dword [edx + 0x109b58], esi
mov ecx, dword [ebx + 0x6220]
call fcn.00458100
jmp case.0x428dbc.1
cmp eax, 0xffffffff
jne 0x43076d
call fcn.004581f0
mov eax, dword [0x4c08ec]
mov dword [eax + 0x109b58], esi
jmp case.0x428dbc.1
mov edi, 1
cmp eax, edi
jne 0x430780
call fcn.00458120
jmp 0x430828
cmp eax, 2
jne 0x430797
mov edx, dword [esp + 0x21f4]
push edx
call fcn.00458140
jmp case.0x428dbc.1
cmp eax, 3
jne 0x4307b8
cmp edx, esi
je case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
push eax
mov ecx, edx
call fcn.004571c0
jmp case.0x428dbc.1
cmp eax, 4
jne 0x4307d1
cmp edx, esi
je case.0x428dbc.1
mov ecx, edx
call fcn.00457eb0
jmp case.0x428dbc.1
cmp eax, 5
jne 0x430802
cmp edx, esi
je case.0x428dbc.1
mov edx, dword [esp + 0x21fc]
mov eax, dword [esp + 0x21f8]
mov ecx, dword [ecx]
push edx
mov edx, dword [esp + 0x21f8]
push eax
push edx
call fcn.00457160
jmp case.0x428dbc.1
cmp eax, 6
jne 0x430823
cmp edx, esi
je case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
push eax
mov ecx, edx
call fcn.00457240
jmp case.0x428dbc.1
cmp eax, 7
jne 0x430845
mov ecx, dword [0x4c08ec]
mov dword [ecx + 0x109b58], edi
mov ecx, dword [ebx + 0x6220]
push edi
call fcn.004581b0
jmp case.0x428dbc.1
cmp eax, 0x62
jne 0x430867
mov edx, dword [0x4c08ec]
mov dword [edx + 0x109b58], esi
mov ecx, dword [ebx + 0x6220]
push esi
call fcn.004581b0
jmp case.0x428dbc.1
cmp eax, 0x63
jne case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
push eax
call fcn.00457ff0
jmp case.0x428dbc.1
lea ecx, [esp + 0x1f0]
push ecx
mov ecx, dword [ebx + 0x6220]
call fcn.004581d0
jmp case.0x428dbc.1
lea edx, [esp + 0x1f0]
push edx
call fcn.0045e44c
mov edx, dword [0x4c08ec]
add esp, 4
lea ecx, [esp + 0x1f0]
add edx, 0x4105c
lea ecx, [ecx]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4308c0
jmp case.0x428dbc.1
mov eax, dword [esp + 0x21f0]
mov ecx, dword [ebx + 0x287c]
push eax
call fcn.004359e0
jmp case.0x428dbc.1
cmp byte [esp + 0x1f0], 0x2d
jne 0x430901
mov ecx, dword [0x4c0878]
call fcn.0044d260
jmp case.0x428dbc.1
lea ecx, [esp + 0x1f0]
push ecx
mov ecx, dword [0x4c0878]
call fcn.0044d1c0
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne case.0x428dbc.1
mov eax, dword [esp + 0x21fc]
cmp eax, 0xff
jne 0x43095a
mov edx, dword [esp + 0x21f0]
mov eax, dword [esp + 0x21f4]
mov ecx, dword [esp + 0x21f8]
mov dword [esp + 0x64], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x3c], ecx
jmp case.0x428dbc.1
cmp eax, 0xfd
jne 0x430a62
mov eax, dword [esp + 0x21f0]
test eax, eax
jle 0x430978
dec eax
mov dword [esp + 0x21f0], eax
lea ecx, [eax + eax*2]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
add edx, edx
add edx, edx
mov dword [esp + 0x20], edx
lea edx, [ecx*8]
sub edx, ecx
mov dword [esp + 0x14], ecx
mov edi, 0x19
lea ecx, [esp + edx*4 + 0x222c]
mov dword [esp + 0x38], eax
lea esi, [edi + 0x4b]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], 3
jmp 0x4309c7
mov eax, dword [esp + 0x38]
cmp eax, 5
ja case.default.0x4309cc
jmp dword [eax*4 + 0x432060]
lea edx, [edi - 0xa]
lea eax, [esi - 0x28]
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
jmp case.default.0x4309cc
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], esi
jmp case.default.0x4309cc
lea ecx, [edi + 0xa]
lea edx, [esi + 0x28]
jmp 0x430a1e
lea eax, [edi + 0x14]
lea ecx, [esi + 0x50]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
jmp case.default.0x4309cc
lea edx, [edi + 0x1e]
lea eax, [esi + 0x78]
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
jmp case.default.0x4309cc
lea ecx, [edi + 0x23]
lea edx, [esi + 0x8c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ebx + 0x5fa0]
mov ecx, dword [ecx]
call fcn.00444f50
test eax, eax
jne 0x430a49
mov edx, dword [esp + 0x21f4]
mov eax, dword [esp + 0x2c]
mov dword [eax], edx
add dword [esp + 0x2c], 0x1c
add esi, 4
inc edi
sub dword [esp + 0x18], 1
jne 0x4309c3
jmp case.0x428dbc.1
cmp eax, 0xfe
jne 0x430a70
mov ecx, 0xf
jmp 0x430a7c
cmp eax, 6
lea ecx, [eax + eax*2 - 0x12]
jge 0x430a7c
lea ecx, [eax + eax*2]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x30]
add edx, edx
add edx, edx
mov dword [esp + 0x20], edx
lea edx, [ecx*8]
xor edi, edi
sub edx, ecx
mov dword [esp + 0x14], ecx
lea ecx, [esp + edx*4 + 0x2214]
mov dword [esp + 0x38], eax
lea esi, [edi + 0x64]
mov dword [esp + 0x2c], ecx
jmp 0x430ac4
mov eax, dword [esp + 0x38]
cmp eax, 5
ja case.default.0x430ac9
jmp dword [eax*4 + 0x432078]
lea edx, [edi + 0xf]
lea eax, [esi - 0x28]
jmp 0x430b16
lea ecx, [edi + 0x19]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], esi
jmp case.default.0x430ac9
lea edx, [edi + 0x23]
lea eax, [esi + 0x28]
jmp 0x430b16
lea ecx, [edi + 0x2d]
lea edx, [esi + 0x50]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edx
jmp case.default.0x430ac9
lea eax, [edi + 0x37]
lea ecx, [esi + 0x78]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
jmp case.default.0x430ac9
lea edx, [edi + 0x3c]
lea eax, [esi + 0x8c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + ebx + 0x5fa0]
mov ecx, dword [edx]
call fcn.00444f50
test eax, eax
jne 0x430b3d
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x430b54
add dword [esp + 0x2c], 0x1c
add esi, 4
inc edi
cmp esi, 0x70
jl 0x430ac0
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x21f0]
add edi, ecx
mov ecx, dword [esp + 0x21f4]
lea eax, [edi*8]
sub eax, edi
add eax, eax
add eax, eax
mov dword [esp + eax + 0x2214], 1
mov dword [esp + eax + 0x221c], edx
mov dword [esp + eax + 0x2220], ecx
mov ecx, dword [esp + 0x21fc]
cmp ecx, 0xfe
je 0x430ba6
cmp ecx, 6
jl case.0x428dbc.1
mov edx, dword [esp + 0x2200]
mov ecx, dword [esp + 0x2204]
mov dword [esp + eax + 0x2224], edx
mov dword [esp + eax + 0x2228], ecx
mov dword [esp + eax + 0x2218], 1
jmp case.0x428dbc.1
mov edx, dword [esp + 0x64]
cmp edx, 0xffffffff
je case.0x428dbc.1
mov ecx, dword [esp + 0x80]
cmp ecx, 0xffffffff
je case.0x428dbc.1
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
je case.0x428dbc.1
push edx
lea edx, [esp + 0x1f4]
push edx
push eax
push ecx
mov ecx, dword [0x4c08ec]
call fcn.0040e5e0
jmp case.0x428dbc.1
xor edi, edi
lea esi, [ebx + 0x5fa0]
mov eax, dword [esp + 0x21f0]
test eax, eax
jne 0x430c3c
push eax
mov eax, dword [esi]
mov ecx, dword [eax]
call fcn.00444490
fldz
mov ecx, dword [esi]
mov ecx, dword [ecx]
jmp 0x430c69
cmp eax, 0x64
ja case.0x428dbc.1
mov edx, dword [esi]
mov ecx, dword [edx]
push 4
call fcn.00444490
fild dword [esp + 0x21f0]
mov eax, dword [esi]
mov ecx, dword [eax]
fmul qword [0x49c110]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.00444ed0
inc edi
add esi, 4
cmp edi, 0x3b
jle 0x430c1f
jmp case.0x428dbc.1
cmp dword [ebp + 8], 0
jne 0x430cff
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x430cff
xor esi, esi
lea edi, [ebx + 0x5fa0]
nop
mov ecx, dword [esp + 0x21f0]
cmp ecx, 0x64
jg case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
cmp eax, 0x64
jg case.0x428dbc.1
test ecx, ecx
jl case.0x428dbc.1
test eax, eax
jl case.0x428dbc.1
mov edx, dword [esp + 0x21f8]
push 0xffffffffffffffff
push 0
push edx
mov edx, dword [edi]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
add eax, eax
add ecx, ecx
push eax
push ecx
mov ecx, dword [edx]
call fcn.00447e30
inc esi
add edi, 4
cmp esi, 0x3b
jle 0x430ca0
jmp case.0x428dbc.1
xor edi, edi
lea esi, [ebx + 0x5fa0]
jmp 0x430d10
mov ecx, dword [esp + 0x21f0]
cmp ecx, 0x64
jg case.0x428dbc.1
mov eax, dword [esp + 0x21f4]
cmp eax, 0x64
jg case.0x428dbc.1
test ecx, ecx
jl case.0x428dbc.1
test eax, eax
jl case.0x428dbc.1
mov eax, dword [esi]
mov ecx, dword [eax]
push 4
call fcn.00444490
fild dword [esp + 0x21f4]
mov ecx, dword [esi]
mov ecx, dword [ecx]
fmul qword [0x49c110]
sub esp, 8
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
call fcn.00444ed0
inc edi
add esi, 4
cmp edi, 0x3b
jle 0x430d10
jmp case.0x428dbc.1
cmp dword [esp + 0x21f0], 4
jge case.0x428dbc.1
lea esi, [ebx + 0x5fa0]
mov edi, 0x3c
mov edx, dword [esp + 0x21f0]
mov eax, dword [esi]
mov ecx, dword [eax]
push edx
call fcn.00444490
add esi, 4
sub edi, 1
jne 0x430d9a
cmp dword [esp + 0x21f0], 0x64
jle case.0x428dbc.1
lea esi, [ebx + 0x5fa0]
mov edi, 0x97
lea esp, [esp]
fild dword [esp + 0x21f0]
push ecx
mov ecx, dword [esi]
mov ecx, dword [ecx]
fdiv qword [0x48b758]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00444b70
add esi, 4
sub edi, 1
jne 0x430dd0
jmp case.0x428dbc.1
cmp dword [esp + 0x21fc], 0x63
jne 0x430e21
mov edx, dword [0x4c08ec]
mov eax, dword [esp + 0x21f0]
mov dword [edx + 0x109b6c], eax
jmp case.0x428dbc.1
mov ecx, dword [esp + 0x21f0]
push ecx
mov ecx, dword [0x4c08ec]
push 0x5a
push 3
call fcn.0040d2c0
mov ecx, dword [esp + 0x21f4]
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [0x4c08ec]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0x5b
push 3
call fcn.0040d2c0
mov ecx, dword [esp + 0x21f4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
push ecx
mov ecx, dword [0x4c08ec]
push 0x5c
push 3
call fcn.0040d2c0
mov ecx, dword [esp + 0x21f4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
sub ecx, edx
push ecx
mov ecx, dword [0x4c08ec]
push eax
mov eax, dword [ecx + 0x109b6c]
push eax
call fcn.0040e7e0
sub eax, 1
jns 0x430eca
mov eax, 6
push eax
push 0x5d
push 3
mov ecx, dword [0x4c08ec]
call fcn.0040d2c0
cmp dword [esp + 0x68], 0
jne 0x430eeb
mov ecx, dword [esp + 0x40]
mov dword [ebx + 0x61c], ecx
cmp dword [ebp + 8], 0
je 0x431097
mov edx, dword [ebx + 0x2868]
mov eax, dword [edx]
mov ecx, dword [0x4c08ec]
dec eax
cmp dword [ecx + 0x1b4e8], eax
jge 0x431048
xor esi, esi
cmp dword [esp + 0x34], esi
je 0x430f86
xor eax, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
or eax, 0xffffffff
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
cmp dword [ebx + 0x2880], esi
je 0x430fa0
mov ecx, dword [ebx + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00440880
cmp dword [ebx + 0x2884], esi
je 0x430fba
mov ecx, dword [ebx + 0x2884]
call fcn.00414740
mov ecx, eax
call fcn.00440880
push 0x800
lea ecx, [ebx + 0x2ce4]
push esi
push ecx
call fcn.0045ab70
push 0x800
lea edx, [ebx + 0x34e4]
push esi
push edx
call fcn.0045ab70
push 0x10c
lea eax, [esp + 0x590c]
push esi
push eax
call fcn.0045ab70
mov dword [ebx + 0x628], esi
mov dword [ebx + 0x7d8], esi
mov dword [ebx + 0x3ce4], esi
mov ecx, dword [0x4c08dc]
add esp, 0x24
call fcn.00407830
mov dword [ebx + 0x5d6c], 1
mov ecx, dword [0x4c08ec]
push 0x19d48
add ecx, 0x41e1c
push esi
push ecx
mov dword [esp + 0x2dc0], esi
call fcn.0045ab70
add esp, 0xc
mov dword [esp + 0x34], esi
xor edi, edi
jmp 0x428950
lea edx, [ecx + 0x4b88]
push edx
call fcn.0040cbc0
mov ecx, dword [ebx + 0x2868]
push eax
call fcn.00402b40
mov ecx, dword [ebx + 0x2868]
cmp dword [ecx], eax
jle 0x431097
xor ecx, ecx
lea eax, [esp + 0x240c]
lea edx, [ecx - 2]
cmp edx, 3
ja 0x43108c
cmp dword [eax + 0x104], 0
jne 0x43108c
cmp byte [eax], 0
je 0x43108c
mov byte [eax], 0
inc ecx
add eax, 0x114
cmp ecx, 0xc
jl 0x431073
cmp dword [esp + 0x34], 1
je 0x428a2d
xor edi, edi
jmp 0x428950
mov eax, 8
mov dword [esp + 0x1ec], eax
mov dword [ebx + 0x61c], eax
jmp 0x428a5f
mov ecx, dword [ebx + 0x2864]
push edi
push str.main
call fcn.00438a00
jmp 0x431c77
mov eax, dword [ebx + 0x5fa0]
mov ecx, dword [eax]
lea edx, [esp + 0x6de4]
push edx
call fcn.00444990
push 0xffffffffffffffff
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
lea esi, [esp + 0x71a8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x5fa4]
mov ecx, dword [ecx]
call fcn.00447f40
mov edx, dword [esp + 0x30]
mov ecx, 0x43
lea esi, [esp + 0x3988]
lea edi, [esp + 0x3a94]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx*8 + 0x4b476c]
lea edx, [esp + 0x3a94]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x431137
mov eax, dword [esp + 0x3c]
cmp dword [esp + eax + 0x3984], 0
mov esi, dword [esp + 0x80]
je 0x431235
cmp esi, 0xffffffff
je 0x431235
mov eax, dword [ebx + esi*4 + 0x5fa0]
lea ecx, [esp + 0x140]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x138]
push edx
call fcn.004442c0
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
call fcn.004449f0
test eax, eax
je 0x43119d
cmp dword [ebp + 8], 0
je 0x431235
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x104]
push eax
call fcn.004444d0
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
lea edx, [esp + 0x13c]
push edx
lea eax, [esp + 0x134]
push eax
call fcn.00444420
mov eax, dword [esp + 0x110]
add eax, 0xfffffd30
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x100]
fild dword [esp + 0x3c]
add eax, 0xfffffb00
cdq
sub eax, edx
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
sar eax, 1
sub esp, 8
neg eax
mov dword [esp + 0x44], eax
fstp dword [esp + 4]
fild dword [esp + 0x44]
fstp dword [esp]
call fcn.00444260
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
call fcn.00444300
mov edi, dword [esp + 0x14]
lea ecx, [edi - 4]
cmp ecx, 4
ja 0x4313cb
cmp esi, 0xffffffff
je 0x4313cb
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0xa8]
push eax
call fcn.004444d0
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0xa4]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
push edx
push eax
push 0
push 0
call fcn.00444340
mov ecx, dword [esp + 0xa4]
sub esp, 8
cmp ecx, 0x400
je 0x43134c
mov eax, 0x500
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [edx]
sar eax, 1
add eax, 0xffffff80
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fstp dword [esp + 0x58]
fldz
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004442a0
fldz
mov eax, dword [ebx + esi*4 + 0x5fa8]
mov ecx, dword [eax]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004442a0
fldz
mov ecx, dword [ebx + esi*4 + 0x5fb4]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004442a0
fldz
mov edx, dword [ebx + esi*4 + 0x5fb8]
mov ecx, dword [edx]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004442a0
fldz
mov eax, dword [ebx + esi*4 + 0x5fbc]
mov ecx, dword [eax]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x58]
jmp 0x4313c3
fldz
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
fst dword [esp + 4]
fstp dword [esp]
call fcn.004442a0
fldz
mov edx, dword [ebx + esi*4 + 0x5fa8]
mov ecx, dword [edx]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.004442a0
fldz
mov eax, dword [ebx + esi*4 + 0x5fb4]
mov ecx, dword [eax]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.004442a0
fldz
mov ecx, dword [ebx + esi*4 + 0x5fb8]
mov ecx, dword [ecx]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.004442a0
fldz
mov edx, dword [ebx + esi*4 + 0x5fbc]
mov ecx, dword [edx]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.004442a0
cmp edi, 0x1f
jne 0x43144e
push edi
mov ecx, ebx
call fcn.0041e830
fldz
mov esi, eax
mov eax, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [eax]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.004442a0
cmp esi, 0xffffffff
je 0x43158c
mov eax, dword [ebx + esi*4 + 0x5fa0]
lea ecx, [esp + 0x108]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x12c]
push edx
call fcn.004444d0
mov edx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, 0xe1
sub ecx, dword [esp + 0x108]
sub esp, 8
mov dword [esp + 0x44], ecx
fild dword [esp + 0x44]
mov ecx, dword [edx]
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.004442a0
jmp 0x43158c
cmp edi, 9
jl case.default.0x43146c
cmp edi, 0xd
jg case.default.0x43146c
lea eax, [edi - 9]
cmp eax, 4
ja case.default.0x43146c
jmp dword [eax*4 + 0x432090]
mov dword [esp + 0x20], 0xc
jmp 0x4314a3
mov dword [esp + 0x20], 0x16
jmp 0x4314a3
mov dword [esp + 0x20], 0x20
jmp 0x4314a3
mov dword [esp + 0x20], 0x2a
jmp 0x4314a3
mov dword [esp + 0x20], 0x34
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + esi*4 + 0x5fa0]
mov ecx, dword [ecx]
lea eax, [esp + 0x30fc]
push eax
call fcn.00444990
mov edx, dword [ebx + esi*4 + 0x5f98]
mov ecx, dword [edx]
mov edi, dword [esp + 0x31b0]
call fcn.00448f00
mov ecx, dword [ebx + esi*4 + 0x5f98]
mov ecx, dword [ecx]
lea eax, [esp + 0x30fc]
push eax
call fcn.00444990
mov edx, dword [esp + 0x20]
mov dword [esp + 0x31b0], edi
mov eax, dword [ebx + edx*4 + 0x5fa0]
push 0xffffffffffffffff
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
lea esi, [esp + 0x34c0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.00447f40
mov edi, dword [esp + 0x14]
cmp edi, 0x20
jne 0x43158c
mov edx, dword [ebx + 0x60d0]
lea ecx, [esp + 0x34bc]
push ecx
mov ecx, dword [edx]
call fcn.00444990
mov eax, dword [ebx + 0x60cc]
mov ecx, dword [eax]
mov esi, dword [esp + 0x3570]
call fcn.00448f00
mov edx, dword [ebx + 0x60cc]
lea ecx, [esp + 0x34bc]
push ecx
mov ecx, dword [edx]
call fcn.00444990
mov dword [esp + 0x3570], esi
mov eax, dword [ebx + 0x60d0]
push 0xffffffffffffffff
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
lea esi, [esp + 0x3880]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.00447f40
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x33
mov dword [esp + 0x14], eax
jl 0x428a70
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
je 0x4315b5
mov ecx, dword [ebx + 0x609c]
mov ecx, dword [ecx]
push eax
call fcn.00444240
mov dword [esp + 0x14], 0
lea ecx, [ecx]
mov eax, dword [esp + 0x14]
imul eax, eax, 0x114
cmp dword [esp + eax + 0x2514], 0
mov dword [esp + 0x2c], eax
je 0x431812
cmp dword [ebx + 0x6200], 0
jne 0x431812
mov eax, dword [esp + 0x14]
lea edx, [eax - 8]
cmp edx, 3
ja 0x431614
mov ecx, ebx
call fcn.00421e40
test eax, eax
jne 0x431812
cmp dword [ebx + 0x3d0c], eax
jne 0x431812
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x431676
cmp dword [ebp + 8], eax
jne 0x431812
cmp dword [esp + 0x2518], eax
je 0x431637
mov ecx, dword [0x4c08f4]
push 1
call fcn.0043b0f0
mov edx, dword [esp + 0x2510]
mov ecx, dword [0x4c08f4]
push edx
push 0
lea eax, [esp + 0x2414]
push eax
call fcn.0043d070
mov eax, dword [esp + 0x251c]
test eax, eax
jle 0x431812
mov ecx, dword [0x4c08f4]
push 0
push eax
call fcn.0043ba50
jmp 0x431812
add eax, 0xfffffffe
cmp eax, 3
ja 0x431699
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + eax + 0x2510]
push ecx
push 1
lea edx, [esp + eax + 0x2414]
push edx
jmp 0x431807
cmp edx, 3
ja 0x431812
mov edi, dword [esp + 0x2c]
lea esi, [esp + edi + 0x240c]
lea edx, [esp + 0x7774]
mov dword [esp + 0x60], esi
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4316c0
lea eax, [esp + 0x7774]
push 0x48b7ec
push eax
call fcn.0045a2c0
add esp, 8
test eax, eax
je 0x4317fc
lea ecx, [esp + 0x7774]
push 0x5f
push ecx
call fcn.0045a489
mov edi, eax
inc edi
add esp, 8
xor esi, esi
mov byte [edi + 2], 0
mov dword [ebx + 0x6218], 0xffffffff
mov dword [esp + 0x38], esi
mov edx, dword [0x4c08ec]
lea eax, [esi + edx + 0x4ce8]
push edi
push eax
call fcn.0045a2c0
add esp, 8
test eax, eax
jne 0x43173c
inc dword [esp + 0x38]
add esi, 0x30
cmp esi, 0xc0
jl 0x431710
jmp 0x431749
mov eax, dword [esp + 0x38]
add eax, 4
mov dword [ebx + 0x6218], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + ecx + 0x2510]
mov eax, dword [esp + 0x60]
mov ecx, dword [0x4c08f4]
push edx
push 2
push eax
call fcn.0043d070
mov dword [ebx + 0x621c], 0
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x41e18], 0
jne 0x43178c
mov dword [ebx + 0x6218], 0xffffffff
jmp 0x4317c7
mov eax, dword [ebx + 0x6218]
cmp eax, 0xffffffff
je 0x4317c7
push eax
mov ecx, ebx
call fcn.0041e830
mov edx, dword [ebx + eax*4 + 0x5fa0]
mov eax, dword [edx]
mov ecx, dword [eax]
imul ecx, ecx, 0x5dc
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebx + 0x621c], ecx
mov ecx, dword [0x4c08ec]
cmp dword [ecx + 0x41e14], 0
jle 0x4317e2
push edi
call fcn.0040e4f0
mov dword [ebx + 0x621c], eax
mov edx, dword [ebx + 0x621c]
mov dword [esp + 0x164], 1
mov dword [esp + 0x168], edx
jmp 0x431812
mov eax, dword [esp + edi + 0x2510]
push eax
push 2
push esi
mov ecx, dword [0x4c08f4]
call fcn.0043d070
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0xc
mov dword [esp + 0x14], eax
jl 0x4315c0
xor edi, edi
lea esi, [esp + 0x150]
cmp dword [esi - 0xc], 0
je 0x43185a
mov ecx, dword [esi - 8]
push ecx
mov ecx, dword [0x4c08f4]
push edi
call fcn.0043b7a0
mov eax, dword [esi]
test eax, eax
je 0x43185a
mov edx, dword [esi - 4]
mov ecx, dword [0x4c08f4]
push eax
push edx
push edi
call fcn.0043b800
inc edi
add esi, 0x10
cmp edi, 3
jl 0x43182d
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x431877
mov ecx, dword [0x4c08f4]
push eax
call fcn.0043b4f0
mov ecx, ebx
call fcn.00421e40
test eax, eax
je 0x43188c
mov dword [ebx + 0x5d6c], 1
xor edi, edi
lea esi, [esp + 0x2218]
cmp dword [esi - 4], 0
je 0x4318ba
mov eax, dword [esi]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push eax
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 4]
push eax
push edi
push ecx
push edx
mov ecx, ebx
call fcn.0041df90
inc edi
add esi, 0x1c
cmp edi, 0x12
jl 0x431895
cmp dword [ebx + 0x3d00], 0
mov ecx, ebx
je 0x4318d2
push 1
jmp 0x4318d6
mov eax, dword [ebp + 8]
push eax
call fcn.00425530
mov dword [esp + 0x7c], eax
lea esi, [esp + 0x174]
lea edi, [ebx + 0x5fc8]
mov dword [esp + 0x60], 4
cmp dword [esi + 0x14], 0
je 0x431998
cmp dword [esp + 0x7c], 0
je 0x431998
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x43193b
fild dword [esp + 0x3c]
mov ecx, dword [edi]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fst dword [esp + 4]
fstp dword [esp]
call fcn.004443c0
mov edx, dword [edi]
mov ecx, dword [edx]
call fcn.004443e0
fldz
fcom dword [esi + 4]
fnstsw ax
test ah, 0x44
jp 0x431953
fcomp dword [esi + 8]
fnstsw ax
test ah, 0x44
jnp 0x43196e
jmp 0x431955
fstp st(0)
fld dword [esi + 8]
mov eax, dword [edi]
mov ecx, dword [eax]
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 4]
fstp dword [esp]
call fcn.00444260
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x43197e
cmp dword [esi + 0x10], eax
je 0x431998
fild dword [esi + 0x10]
mov ecx, dword [edi]
mov ecx, dword [ecx]
sub esp, 8
fstp dword [esp + 4]
fild dword [esp + 0x44]
fstp dword [esp]
call fcn.00444450
add edi, 0x28
add esi, 0x18
sub dword [esp + 0x60], 1
jne 0x4318f4
cmp dword [esp + 0x68], 0
jne 0x431c77
cmp dword [esp + 0xa8], 0
je 0x4319d7
cmp dword [esp + 0x8c], 0
jne 0x4319d7
mov edx, dword [esp + 0x94]
push edx
mov ecx, ebx
call fcn.0041dea0
mov eax, dword [0x4c08ec]
cmp dword [eax + 0x40f38], 0
jne 0x431b8c
mov eax, dword [ebx + 0x61c]
cmp eax, 6
je 0x431a02
cmp eax, 7
je 0x431a02
cmp eax, 8
jne 0x431b8c
cmp dword [ebx + 0x2884], 0
je 0x431a6b
mov ecx, dword [ebx + 0x2884]
call fcn.00414740
mov ecx, eax
call fcn.00440880
cmp word [ebx + 0x34e4], 0
lea eax, [ebx + 0x34e4]
je 0x431a49
lea ecx, [ebx + 0x2ce4]
push ecx
mov ecx, dword [ebx + 0x2884]
push eax
call fcn.00414740
mov ecx, eax
call fcn.00442530
jmp 0x431a6b
cmp byte [ebx + 0x2ce4], 0
lea eax, [ebx + 0x2ce4]
je 0x431a6b
mov ecx, dword [ebx + 0x2884]
push eax
call fcn.00414740
mov ecx, eax
call fcn.00442430
cmp dword [ebx + 0x2880], 0
je 0x431b8c
mov ecx, dword [ebx + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00440880
cmp word [ebx + 0x38e4], 0
lea eax, [ebx + 0x38e4]
je 0x431b08
mov ecx, dword [ebx + 0x2880]
lea edx, [ebx + 0x30e4]
push edx
push eax
call fcn.00414740
mov ecx, eax
call fcn.00442530
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x100]
push ecx
mov ecx, dword [ebx + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00440df0
mov ecx, dword [ebx + 0x2888]
lea edx, [esp + 0xf4]
push edx
lea eax, [esp + 0x13c]
push eax
call fcn.00413070
mov ecx, dword [esp + 0xec]
sub ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xfc]
jmp 0x431b7f
cmp byte [ebx + 0x30e4], 0
lea eax, [ebx + 0x30e4]
je 0x431b8c
mov ecx, dword [ebx + 0x2880]
push eax
call fcn.00414740
mov ecx, eax
call fcn.00442430
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x118]
push ecx
mov ecx, dword [ebx + 0x2880]
call fcn.00414740
mov ecx, eax
call fcn.00440df0
mov ecx, dword [ebx + 0x2888]
lea edx, [esp + 0x10c]
push edx
lea eax, [esp + 0x130]
push eax
call fcn.00413070
mov ecx, dword [esp + 0x104]
sub ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x114]
add ecx, 4
push ecx
mov ecx, dword [ebx + 0x2888]
push edx
call fcn.00412db0
cmp dword [esp + 0x3a8c], 0
mov dword [esp + 0x30], 0
je 0x431c77
cmp dword [str.bgev_so11o], 0
je 0x431c77
mov esi, 0x4b4768
mov edx, dword [esi]
mov eax, edx
lea edi, [eax + 1]
jmp 0x431bc0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x431bc0
sub eax, edi
push eax
push edx
lea eax, [esp + 0x3990]
push eax
call fcn.0045d494
add esp, 0xc
test eax, eax
jne 0x431c0d
mov eax, dword [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x431be4
sub eax, edx
mov edx, eax
lea eax, [esp + 0x3988]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x431c00
sub eax, esi
cmp edx, eax
jbe 0x431c29
mov eax, dword [esp + 0x30]
inc eax
cmp dword [eax*8 + 0x4b4768], 0
lea esi, [eax*8 + 0x4b4768]
mov dword [esp + 0x30], eax
jne 0x431bb4
jmp 0x431c77
mov edx, dword [ebx + 0x5fa0]
lea ecx, [esp + 0x71a4]
push ecx
mov ecx, dword [edx]
call fcn.00444990
mov eax, dword [ebx + 0x5fa4]
push 0xffffffffffffffff
sub esp, 0x3c0
mov edi, esp
mov ecx, 0xf0
lea esi, [esp + 0x7568]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.00447f40
mov ecx, dword [ebx + 0x63c]
mov edx, dword [ebx + 0x5fa4]
push ecx
mov ecx, dword [edx]
call fcn.004440c0
xor eax, eax
mov ecx, dword [esp + 0x7cd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x7cc0]
xor ecx, esp
call fcn.0045ab2a
mov esp, ebp
pop ebp
ret 8