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

Disassembly:
push 0xffffffffffffffff
push 0x44614a
mov eax, dword fs:[0]
push eax
sub esp, 0xa84
mov eax, dword [0x44eea4]
xor eax, esp
mov dword [esp + 0xa80], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44eea4]
xor eax, esp
push eax
lea eax, [esp + 0xa98]
mov dword fs:[0], eax
cmp dword [0x4512cc], 0xa
mov eax, dword [esp + 0xaa8]
mov ebp, dword [esp + 0xaac]
mov edi, ecx
mov ecx, dword [esp + 0xab0]
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x1c], ecx
je 0x4297ae
cmp dword [ebp], 0xa
jne 0x4297ae
push str.bgmmain.wma
call fcn.00402020
add esp, 4
mov edx, dword [ebp]
mov eax, dword [0x4512c8]
xor esi, esi
or ebx, 0xffffffff
cmp dword [0x44d07c], esi
mov dword [0x4512cc], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
lea edx, [esi + 1]
lea ecx, [esi + 2]
je 0x429e5a
push 0x1f50
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], esi
je 0x429814
push esi
push str.CHARMENU
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429816
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512c4], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 1
je 0x429853
push esi
push 0x449acc
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429855
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512b0], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 2
je 0x429892
push esi
push 0x449ac8
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429894
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512b4], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 3
je 0x4298d1
push esi
push 0x449ac4
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x4298d3
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512b8], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 4
je 0x429910
push esi
push 0x449ac0
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429912
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512bc], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 5
je 0x42994f
push esi
push 0x449abc
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429951
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512c0], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 6
je 0x42998e
push esi
push 0x449ab8
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429990
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512ac], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 7
je 0x4299cd
push esi
push str.CMA2
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x4299cf
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x4512a8], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 8
je 0x429a0c
push esi
push 0x449aac
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429a0e
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x44fd88], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 9
je 0x429a4b
push esi
push str.RFACE
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429a4d
xor eax, eax
push 0x1f50
mov dword [esp + 0xaa4], ebx
mov dword [0x44fd84], eax
call fcn.004450ac
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0xaa0], 0xa
je 0x429a8a
push esi
push str.SPARK
push 0x40
mov ecx, eax
call fcn.0043ee50
jmp 0x429a8c
xor eax, eax
mov dword [0x44f8fc], eax
mov dword [0x451288], esi
mov dword [0x451268], esi
mov dword [0x451248], ebx
mov dword [0x45128c], esi
mov dword [0x45126c], esi
mov dword [0x45124c], ebx
mov dword [0x451290], esi
mov dword [0x451270], esi
mov dword [0x451250], ebx
mov dword [0x451294], esi
mov dword [0x451274], esi
mov dword [0x451254], ebx
mov dword [0x451298], esi
mov dword [0x451278], esi
mov dword [0x451258], ebx
mov dword [0x45129c], esi
mov dword [0x45127c], esi
mov dword [0x45125c], ebx
mov dword [0x4512a0], esi
mov dword [0x451280], esi
mov dword [0x451260], ebx
mov dword [0x4512a4], esi
mov dword [0x451284], esi
mov dword [0x451264], ebx
mov dword [eax + 0xc], 0x14
mov ecx, dword [0x44f8fc]
mov eax, 0x66
mov dword [ecx + 0x14], eax
mov edx, dword [0x44f8fc]
mov dword [edx + 0x7e4], esi
mov ecx, dword [0x44f8fc]
mov dword [ecx + 0xfb4], eax
mov edx, dword [0x44f8fc]
mov edi, 0x50
mov dword [edx + 0x1784], edi
mov ecx, dword [0x44f8fc]
mov dword [ecx + 0x3c], eax
mov edx, dword [0x44f8fc]
mov ecx, 0x80
mov dword [edx + 0x80c], ecx
mov edx, dword [0x44f8fc]
mov dword [edx + 0xfdc], eax
mov edx, dword [0x44f8fc]
mov dword [edx + 0x17ac], edi
mov ebp, dword [0x44f8fc]
mov edx, 0xcc
mov dword [ebp + 0x18], edx
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x7e8], esi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0xfb8], eax
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x1788], edi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x40], edx
mov edx, dword [0x44f8fc]
mov dword [edx + 0x810], ecx
mov edx, dword [0x44f8fc]
mov dword [edx + 0xfe0], eax
mov edx, dword [0x44f8fc]
mov dword [edx + 0x17b0], edi
mov ebp, dword [0x44f8fc]
mov edx, 0x132
mov dword [ebp + 0x1c], edx
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x7ec], esi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0xfbc], eax
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x178c], edi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x44], edx
mov edx, dword [0x44f8fc]
mov dword [edx + 0x814], ecx
mov edx, dword [0x44f8fc]
mov dword [edx + 0xfe4], eax
mov edx, dword [0x44f8fc]
mov dword [esp + 0xaa0], ebx
mov dword [0x44d07c], esi
mov dword [edx + 0x17b4], edi
mov ebp, dword [0x44f8fc]
mov edx, 0x198
mov dword [ebp + 0x20], edx
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x7f0], esi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0xfc0], eax
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x1790], edi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x48], edx
mov edx, dword [0x44f8fc]
mov dword [edx + 0x818], ecx
mov ecx, dword [0x44f8fc]
mov dword [ecx + 0xfe8], eax
mov edx, dword [0x44f8fc]
mov dword [edx + 0x17b8], edi
mov ecx, dword [0x44f8fc]
mov eax, 0x3d
mov dword [ecx + 0x28], eax
mov edx, dword [0x44f8fc]
mov dword [edx + 0x7f8], edi
mov ecx, dword [0x44f8fc]
mov dword [ecx + 0xfc8], eax
mov edx, dword [0x44f8fc]
mov ecx, 0x30
mov dword [edx + 0x1798], ecx
mov edx, dword [0x44f8fc]
mov dword [edx + 0x50], eax
mov edi, dword [0x44f8fc]
mov edx, 0xd0
mov dword [edi + 0x820], edx
mov edi, dword [0x44f8fc]
mov dword [edi + 0xff0], eax
mov edi, dword [0x44f8fc]
mov dword [edi + 0x17c0], ecx
mov ebp, dword [0x44f8fc]
mov edi, 0x7a
mov dword [ebp + 0x2c], edi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x7fc], 0x50
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0xfcc], eax
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x179c], ecx
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x54], edi
mov edi, dword [0x44f8fc]
mov dword [edi + 0x824], edx
mov edi, dword [0x44f8fc]
mov dword [edi + 0xff4], eax
mov edi, dword [0x44f8fc]
mov dword [edi + 0x17c4], ecx
mov ebp, dword [0x44f8fc]
mov edi, 0xb7
mov dword [ebp + 0x30], edi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x800], 0x50
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0xfd0], eax
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x17a0], ecx
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x58], edi
mov edi, dword [0x44f8fc]
mov dword [edi + 0x828], edx
mov edi, dword [0x44f8fc]
mov dword [edi + 0xff8], eax
mov edi, dword [0x44f8fc]
mov dword [edi + 0x17c8], ecx
mov ebp, dword [0x44f8fc]
mov edi, 0xf4
mov dword [ebp + 0x34], edi
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x804], 0x50
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0xfd4], eax
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x17a4], ecx
mov ebp, dword [0x44f8fc]
mov dword [ebp + 0x5c], edi
mov edi, dword [0x44f8fc]
mov ebp, dword [esp + 0x40]
mov dword [edi + 0x82c], edx
mov edx, dword [0x44f8fc]
mov edi, dword [esp + 0x14]
mov dword [edx + 0xffc], eax
mov eax, dword [0x44f8fc]
lea edx, [ecx - 0x2f]
mov dword [eax + 0x17cc], ecx
lea ecx, [edx + 1]
mov eax, dword [esp + 0x1c]
cmp dword [eax], 5
jne 0x429e7a
cmp dword [0x450c2c], esi
jne 0x429e7a
mov dword [0x44d02c], edx
mov dword [ebp], 0xa
jmp 0x429ea0
mov eax, dword [ebp]
cmp eax, 0x12c
jne 0x429e9b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
push ecx
push ebp
push edx
mov ecx, edi
call fcn.00437220
jmp 0x42e0d2
cmp eax, 0xa
jne 0x429ebc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push 0x4512c8
push eax
push ebp
push ecx
mov ecx, edi
call fcn.00431d10
jmp 0x42e0d2
cmp eax, 0x14
jl 0x429edd
cmp eax, 0x32
jg 0x429edd
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push edx
push ebp
push eax
mov ecx, edi
call fcn.00432ab0
jmp 0x42e0d2
cmp eax, 0x78
jl 0x429f00
cmp eax, 0x96
jg 0x429f00
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
push ecx
push ebp
push edx
mov ecx, edi
call fcn.00434ab0
jmp 0x42e0d2
cmp eax, 3
jne 0x42a0a0
mov eax, dword [esp + 0x1c]
mov dword [0x451288], esi
mov dword [0x451248], ebx
mov dword [0x451268], edx
mov dword [0x45128c], esi
mov dword [0x45124c], ebx
mov dword [0x45126c], edx
mov dword [0x451290], esi
mov dword [0x451250], ebx
mov dword [0x451270], edx
mov dword [0x451294], esi
mov dword [0x451254], ebx
mov dword [0x451274], edx
mov dword [0x451298], esi
mov dword [0x451258], ebx
mov dword [0x451278], edx
mov dword [0x45129c], esi
mov dword [0x45125c], ebx
mov dword [0x45127c], edx
mov dword [0x4512a0], esi
mov dword [0x451260], ebx
mov dword [0x451280], edx
mov dword [0x4512a4], esi
mov dword [0x451264], ebx
mov dword [0x451284], edx
cmp dword [eax], edx
jne 0x429fcb
lea eax, [edi + 0x194]
mov ecx, 0x14
lea esp, [esp]
mov edx, dword [eax]
mov dword [edx + 0x364], 1
mov edx, 1
add eax, 4
sub ecx, edx
jne 0x429fb0
lea ecx, [edx + 1]
mov eax, dword [esp + 0x1c]
cmp dword [eax], 4
jne 0x42a098
mov eax, dword [edi + 0x1bc]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x194]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x1c0]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x198]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x1c4]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x19c]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x1c8]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x1a0]
mov dword [eax + 0x364], edx
mov eax, dword [edi + 0x1cc]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1a4]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1d0]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1a8]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1d4]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1ac]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1d8]
mov dword [eax + 0x364], ecx
mov eax, dword [edi + 0x1b0]
mov dword [eax + 0x364], ecx
mov dword [0x4512c8], esi
jmp 0x42a0ae
cmp eax, ecx
jne 0x42a0b5
mov dword [0x4512c8], 3
mov dword [ebp], edx
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], 4
jne 0x42a0da
cmp dword [0x4512c8], 3
jne 0x42a0da
mov eax, dword [ebp]
cmp eax, 0xc8
jge 0x42a0e4
mov dword [ebp], 0xc8
jmp 0x42a0eb
mov eax, dword [ebp]
cmp eax, 0xc8
jl 0x42a114
cmp eax, 0x12c
jge 0x42a114
mov eax, dword [esp + 0x24]
push 0x451228
push 0x451248
push 0x451288
push 0x4512c8
mov edx, ecx
push edx
push ebp
push eax
mov ecx, edi
call fcn.00438b40
jmp 0x42e0d2
mov eax, dword [0x451224]
add eax, 1
cdq
mov ecx, 0x1e
idiv ecx
lea eax, [edi + 0x198]
lea edi, [ecx + 0x32]
lea ebp, [ecx - 0x1d]
mov dword [0x451224], edx
jmp 0x42a140
mov edx, dword [eax - 4]
mov ecx, dword [edx + 0x364]
cmp ecx, esi
jl 0x42a152
cmp ecx, 4
jle 0x42a158
mov dword [edx + 0x364], esi
mov edx, dword [eax]
mov ecx, dword [edx + 0x364]
cmp ecx, esi
jl 0x42a169
cmp ecx, 4
jle 0x42a16f
mov dword [edx + 0x364], esi
mov edx, dword [eax + 4]
mov ecx, dword [edx + 0x364]
cmp ecx, esi
jl 0x42a181
cmp ecx, 4
jle 0x42a187
mov dword [edx + 0x364], esi
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x364]
cmp ecx, esi
jl 0x42a199
cmp ecx, 4
jle 0x42a19f
mov dword [edx + 0x364], esi
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x364]
cmp ecx, esi
jl 0x42a1b1
cmp ecx, 4
jle 0x42a1b7
mov dword [edx + 0x364], esi
add eax, 0x14
sub edi, ebp
jne 0x42a140
push esi
push 0x226
push 0x31a
push esi
push esi
call fcn.00415160
mov edx, dword [esp + 0x38]
mov ecx, dword [0x4512c4]
add esp, 0x14
push edx
push esi
push esi
push ebx
push 0x21
push 0x28
call fcn.0043f010
cmp dword [0x4512c8], esi
jne 0x42a254
cmp dword [0x451288], esi
jne 0x42a1fe
mov dword [esp + 0x28], ebp
cmp dword [0x45128c], esi
jne 0x42a20a
add dword [esp + 0x28], ebp
cmp dword [0x451290], esi
jne 0x42a216
add dword [esp + 0x28], ebp
cmp dword [0x451294], esi
jne 0x42a222
add dword [esp + 0x28], ebp
cmp dword [0x451298], esi
jne 0x42a22e
add dword [esp + 0x28], ebp
cmp dword [0x45129c], esi
jne 0x42a23a
add dword [esp + 0x28], ebp
cmp dword [0x4512a0], esi
jne 0x42a246
add dword [esp + 0x28], ebp
cmp dword [0x4512a4], esi
jne 0x42a258
add dword [esp + 0x28], ebp
jmp 0x42a258
mov dword [esp + 0x28], ebx
xor ebp, ebp
mov eax, dword [ebp*4 + 0x451288]
test eax, eax
mov edi, ebp
jle 0x42a305
cmp eax, 0xb
mov eax, ebp
cdq
jge 0x42a2c3
and edx, 3
add eax, edx
mov esi, eax
sar esi, 2
imul esi, esi, 0xd4
and edi, 0x80000003
jns 0x42a290
dec edi
or edi, 0xfffffffc
inc edi
mov edx, dword [0x455608]
imul edi, edi, 0x99
mov ecx, ebp
imul ecx, ecx, 0xb
lea eax, [esi + 0xdb]
push eax
lea ebx, [edi + 0xb1]
push ebx
push 0xffffff
push 0
add ecx, 0x44fcc0
push ecx
push edx
jmp 0x42a3c2
and edx, 3
add eax, edx
mov esi, eax
sar esi, 2
imul esi, esi, 0xd4
and edi, 0x80000003
jns 0x42a2e0
dec edi
or edi, 0xfffffffc
inc edi
imul edi, edi, 0x99
lea eax, [esi + 0xdb]
push eax
lea ebx, [edi + 0xb1]
push ebx
push 0x9b9bff
push 0
push str.Computer
jmp 0x42a3bb
mov eax, ebp
cdq
and edx, 3
add eax, edx
mov esi, eax
sar esi, 2
imul esi, esi, 0xd4
cmp dword [0x4512c8], 0
jne 0x42a38e
and edi, 0x80000003
jns 0x42a32e
dec edi
or edi, 0xfffffffc
inc edi
mov eax, 0x2aaaaaab
imul edi, edi, 0x99
imul dword [0x451224]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, 0x4c
imul dl
mov cl, al
mov al, byte [0x451224]
mov dl, 0x1e
imul dl
add cl, al
mov dl, cl
lea eax, [esi + 0xdb]
push eax
add dl, 0x46
movzx eax, dl
mov edx, dword [0x455608]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
lea ebx, [edi + 0xb1]
push ebx
shl eax, 8
or eax, ecx
push eax
push 0
push str.___Join_
push edx
jmp 0x42a3c2
and edi, 0x80000003
jns 0x42a39b
dec edi
or edi, 0xfffffffc
inc edi
imul edi, edi, 0x99
lea eax, [esi + 0xdb]
push eax
lea ebx, [edi + 0xb1]
push ebx
push 0xffffff
push 0
push str._________
mov ecx, dword [0x455608]
push ecx
call fcn.00401290
add esp, 0x18
cmp dword [ebp*4 + 0x451288], 0
jne 0x42a518
cmp dword [0x4512c8], 0
jne 0x42a518
mov ecx, dword [0x44d078]
cmp ecx, 0x96
jne 0x42a439
mov ecx, dword [0x451224]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
push eax
push 0
sub ecx, edx
push 0
push 0xffffffffffffffff
cmp ecx, 3
lea ecx, [esi + 0x78]
lea edx, [edi + 0x93]
push ecx
push edx
jge 0x42a431
mov ecx, dword [0x4512ac]
jmp 0x42a46d
mov ecx, dword [0x4512a8]
jmp 0x42a46d
test ecx, ecx
jl 0x42a472
mov eax, dword [esp + 0x24]
push eax
push 0
push 0
push 0xffffffffffffffff
lea edx, [esi + 0x7d]
push edx
lea eax, [edi + 0xb5]
push eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ecx, dword [ecx*4 + 0x4512b0]
call fcn.0043f010
mov edx, dword [esp + 0x14]
mov eax, dword [edx + ebp*4 + 0x194]
cmp byte [eax + 0xd1], 0
je 0x42a4bd
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a4b0
cmp dword [0x44d074], 0
jne 0x42a4b0
push 0
mov ecx, 0x45560c
mov dword [ebp*4 + 0x451288], 1
call fcn.00401a30
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a518
cmp byte [eax + 0xd2], 0
je 0x42a50d
cmp dword [esp + 0x28], 8
jne 0x42a50d
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a500
push 0
mov ecx, 0x455614
call fcn.00401a30
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov dword [eax], 0xa
mov dword [0x457580], 0
call fcn.00431c70
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a518
mov dword [ebp*4 + 0x451268], 0
cmp dword [ebp*4 + 0x451288], 1
jne 0x42a899
cmp dword [ebp*4 + 0x451248], 0
jl 0x42a5cb
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0xffffffffffffffff
lea edx, [esi + 0x5e]
push edx
mov edx, dword [ecx + ebp*4 + 0x194]
lea eax, [edi + 0x93]
push eax
mov eax, dword [edx + 0x368]
mov ecx, dword [eax + 0x6fc]
call fcn.0043f010
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov dl, 0x1e
mov al, bl
imul dl
add cl, al
mov dl, cl
lea eax, [esi + 0xf1]
push eax
lea eax, [edi + 0xb1]
push eax
add dl, 0x46
movzx eax, dl
mov edx, dword [esp + 0x1c]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
mov eax, dword [edx + ebp*4 + 0x194]
mov ecx, dword [eax + 0x368]
push 0
add ecx, 0x25324
push ecx
jmp 0x42a637
mov eax, dword [esp + 0x24]
push eax
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esi + 0x5e]
push ecx
mov ecx, dword [0x44fd84]
lea edx, [edi + 0x93]
push edx
call fcn.0043f010
mov eax, 0x2aaaaaab
imul dword [0x451224]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, byte [0x451224]
mov dl, 0x1e
imul dl
add cl, al
mov dl, cl
lea eax, [esi + 0xf1]
push eax
add dl, 0x46
movzx eax, dl
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
push ebx
shl eax, 8
or eax, ecx
push eax
push 0
push str._Random
mov edx, dword [0x455608]
push edx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + ebp*4 + 0x194]
add esp, 0x18
cmp byte [eax + 0xd0], 0
je 0x42a709
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a6de
jmp 0x42a670
add dword [ebp*4 + 0x451248], 1
mov ecx, dword [ebp*4 + 0x451248]
mov eax, dword [ebx + 0x7d4]
cmp ecx, dword [eax + 0x4d82380]
jge 0x42a6ee
cmp ecx, 0xffffffff
je 0x42a6de
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x6f8], 0
jne 0x42a670
mov edx, dword [eax + 0x6f4]
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4466c8
cmp eax, 3
jne 0x42a6c8
cmp dword [0x458428], 0xffffffff
jne 0x42a670
mov eax, dword [ebx + 0x7d4]
mov edx, dword [ebx + ebp*4 + 0x194]
mov eax, dword [eax + ecx*4]
mov dword [edx + 0x368], eax
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
mov dword [ebp*4 + 0x451248], 0xffffffff
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
cmp byte [eax + 0xcf], 0
je 0x42a7e6
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a7d6
or eax, 0xffffffff
add dword [ebp*4 + 0x451248], eax
cmp dword [ebp*4 + 0x451248], eax
je 0x42a7d6
jge 0x42a753
mov ecx, dword [ebx + 0x7d4]
mov edx, dword [ecx + 0x4d82380]
sub edx, 1
mov dword [ebp*4 + 0x451248], edx
mov eax, dword [ebp*4 + 0x451248]
mov ecx, dword [ebx + 0x7d4]
mov eax, dword [ecx + eax*4]
cmp dword [eax + 0x6f8], 0
jne 0x42a796
mov ecx, dword [eax + 0x6f4]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4466e1
cmp eax, 3
jne 0x42a7b9
cmp dword [0x458428], 0xffffffff
je 0x42a7b9
or eax, 0xffffffff
add dword [ebp*4 + 0x451248], eax
cmp dword [ebp*4 + 0x451248], eax
jne 0x42a73b
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
mov edx, dword [ebp*4 + 0x451248]
mov eax, dword [ebx + 0x7d4]
mov ecx, dword [ebx + ebp*4 + 0x194]
mov edx, dword [eax + edx*4]
mov dword [ecx + 0x368], edx
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
cmp byte [eax + 0xcd], 0
je 0x42a814
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a804
mov dword [ebp*4 + 0x451248], 0xffffffff
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
cmp byte [eax + 0xd1], 0
je 0x42a857
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a84a
push 0
mov ecx, 0x45560c
call fcn.00401a30
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
sub ecx, 1
neg ecx
sbb ecx, ecx
add ecx, 3
mov dword [ebp*4 + 0x451288], ecx
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
cmp byte [eax + 0xd2], 0
je 0x42a88e
cmp dword [ebp*4 + 0x451268], 0
jne 0x42a881
push 0
mov ecx, 0x455614
call fcn.00401a30
mov dword [ebp*4 + 0x451288], 0
mov dword [ebp*4 + 0x451268], 1
jmp 0x42a899
mov dword [ebp*4 + 0x451268], 0
cmp dword [ebp*4 + 0x451288], 2
jne 0x42af85
mov ecx, 3
xor edx, edx
xor eax, eax
cmp dword [0x451288], ecx
jne 0x42a8bb
lea eax, [edx + 1]
cmp dword [0x45128c], ecx
jne 0x42a8c6
add eax, 1
cmp dword [0x451290], ecx
jne 0x42a8d1
add eax, 1
cmp dword [0x451294], ecx
jne 0x42a8dc
add eax, 1
cmp dword [0x451298], ecx
jne 0x42a8e7
add eax, 1
cmp dword [0x45129c], ecx
jne 0x42a8f2
add eax, 1
cmp dword [0x4512a0], ecx
jne 0x42a8fd
add eax, 1
cmp dword [0x4512a4], ecx
jne 0x42a908
add eax, 1
cmp eax, 7
jne 0x42a912
mov edx, 1
or ebx, 0xffffffff
cmp edx, 1
mov dword [esp + 0x2c], ebx
jne 0x42aa8b
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
test eax, eax
je 0x42a935
cmp eax, 4
jne 0x42aa8b
mov eax, dword [esp + 0x14]
add eax, 0x198
mov dword [esp + 0x2c], 2
mov dword [esp + 0x30], 0x45128c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax - 4]
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x42a998
mov edx, dword [esp + 0x2c]
add edx, 0xfffffffe
cmp edx, ebp
je 0x42a998
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 4]
mov eax, dword [ecx + 0x364]
test eax, eax
je 0x42a993
cmp ebx, 0xffffffff
jne 0x42a98b
mov ebx, eax
jmp 0x42a998
test ebx, ebx
jl 0x42a998
cmp eax, ebx
je 0x42a998
mov ebx, 0xfffffffe
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x42a9dc
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
cmp edx, ebp
je 0x42a9dc
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x364]
test eax, eax
je 0x42a9d7
cmp ebx, 0xffffffff
jne 0x42a9cf
mov ebx, eax
jmp 0x42a9dc
test ebx, ebx
jl 0x42a9dc
cmp eax, ebx
je 0x42a9dc
mov ebx, 0xfffffffe
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x42aa1d
cmp dword [esp + 0x2c], ebp
je 0x42aa1d
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x364]
test eax, eax
je 0x42aa18
cmp ebx, 0xffffffff
jne 0x42aa10
mov ebx, eax
jmp 0x42aa1d
test ebx, ebx
jl 0x42aa1d
cmp eax, ebx
je 0x42aa1d
mov ebx, 0xfffffffe
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x42aa63
mov edx, dword [esp + 0x2c]
add edx, 1
cmp edx, ebp
je 0x42aa63
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x364]
test eax, eax
je 0x42aa5e
cmp ebx, 0xffffffff
jne 0x42aa56
mov ebx, eax
jmp 0x42aa63
test ebx, ebx
jl 0x42aa63
cmp eax, ebx
je 0x42aa63
mov ebx, 0xfffffffe
mov eax, dword [esp + 0x2c]
add eax, 4
mov ecx, 0x10
add dword [esp + 0x30], ecx
add dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
add eax, 0xfffffffe
cmp eax, 8
jl 0x42a952
mov dword [esp + 0x2c], ebx
cmp dword [ebp*4 + 0x451248], 0
jl 0x42aafc
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x18]
push 0
push 0
push 0xffffffffffffffff
lea eax, [esi + 0x5e]
push eax
mov eax, dword [edx + ebp*4 + 0x194]
lea ecx, [edi + 0x93]
push ecx
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6fc]
call fcn.0043f010
lea edx, [esi + 0xf1]
push edx
lea eax, [edi + 0xb1]
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + ebp*4 + 0x194]
mov edx, dword [ecx + 0x368]
mov eax, dword [0x455608]
push 0xffffff
push 0
add edx, 0x25324
push edx
push eax
jmp 0x42ab3e
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [0x44fd84]
push 0
push 0
push 0xffffffffffffffff
lea edx, [esi + 0x5e]
push edx
lea eax, [edi + 0x93]
push eax
call fcn.0043f010
mov edx, dword [0x455608]
lea ecx, [esi + 0xf1]
push ecx
lea eax, [edi + 0xb1]
push eax
push 0xffffff
push 0
push str._Random
push edx
call fcn.00401290
add esp, 0x18
jmp 0x42ab50
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + ebp*4 + 0x194]
mov eax, dword [ecx + 0x364]
cmp eax, ebx
je 0x42ab77
mov edx, dword [esp + 0x1c]
cmp dword [edx], 4
jne 0x42ab8e
test eax, eax
je 0x42ab77
cmp eax, 2
jle 0x42ab8e
add eax, 1
cdq
mov ebx, 5
idiv ebx
mov ebx, dword [esp + 0x2c]
mov dword [ecx + 0x364], edx
jmp 0x42ab50
mov edx, dword [esp + 0x14]
mov eax, dword [edx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 1
jne 0x42ac09
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
lea eax, [esi + 0x107]
push eax
mov al, cl
lea edx, [edi + 0xbb]
push edx
add al, 0x46
movzx edx, al
add cl, 0x19
or edx, 0xff00
movzx eax, cl
mov ecx, dword [0x455608]
shl edx, 8
or edx, eax
push edx
push 0
push str.Team_1
push ecx
call fcn.00401290
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [edx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 2
jne 0x42ac80
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
lea eax, [esi + 0x107]
push eax
mov al, cl
lea edx, [edi + 0xbb]
push edx
add al, 0x46
movzx edx, al
add cl, 0x19
or edx, 0xff00
movzx eax, cl
mov ecx, dword [0x455608]
shl edx, 8
or edx, eax
push edx
push 0
push str.Team_2
push ecx
call fcn.00401290
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [edx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 3
jne 0x42acf7
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
lea eax, [esi + 0x107]
push eax
mov al, cl
lea edx, [edi + 0xbb]
push edx
add al, 0x46
movzx edx, al
add cl, 0x19
or edx, 0xff00
movzx eax, cl
mov ecx, dword [0x455608]
shl edx, 8
or edx, eax
push edx
push 0
push str.Team_3
push ecx
call fcn.00401290
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [edx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 4
jne 0x42ad6e
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
lea eax, [esi + 0x107]
push eax
mov al, cl
lea edx, [edi + 0xbb]
push edx
add al, 0x46
movzx edx, al
add cl, 0x19
or edx, 0xff00
movzx eax, cl
mov ecx, dword [0x455608]
shl edx, 8
or edx, eax
push edx
push 0
push str.Team_4
push ecx
call fcn.00401290
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
add esp, 0x18
mov ecx, dword [edx + ebp*4 + 0x194]
xor eax, eax
cmp dword [ecx + 0x364], eax
jne 0x42ade8
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, 0x4c
imul dl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
lea eax, [esi + 0x107]
push eax
mov al, cl
lea edx, [edi + 0xa7]
push edx
add al, 0x46
movzx edx, al
add cl, 0x19
or edx, 0xff00
movzx eax, cl
mov ecx, dword [0x455608]
shl edx, 8
or edx, eax
push edx
push 0
push str.Independent
push ecx
call fcn.00401290
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], 2
jne 0x42ae13
mov ecx, dword [edx + ebp*4 + 0x194]
mov dword [ecx + 0x364], eax
mov ecx, dword [edx + ebp*4 + 0x194]
mov byte [ecx + 0xd1], 1
mov dword [ebp*4 + 0x451268], eax
mov ecx, dword [edx + ebp*4 + 0x194]
cmp byte [ecx + 0xd0], 0
je 0x42ae7c
cmp dword [ebp*4 + 0x451268], eax
jne 0x42ae6c
mov eax, dword [ecx + 0x364]
add eax, 1
cdq
mov ebx, 5
idiv ebx
mov dword [ecx + 0x364], edx
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + ebp*4 + 0x194]
mov eax, dword [ecx + 0x364]
cmp eax, dword [esp + 0x2c]
je 0x42ae32
mov edx, dword [esp + 0x1c]
cmp dword [edx], 4
jne 0x42ae6c
test eax, eax
je 0x42ae32
cmp eax, 2
jg 0x42ae32
mov dword [ebp*4 + 0x451268], 1
jmp 0x42af85
cmp byte [ecx + 0xcf], 0
je 0x42af12
cmp dword [ebp*4 + 0x451268], eax
jne 0x42af71
add dword [ecx + 0x364], 0xffffffff
mov ecx, dword [edx + ebp*4 + 0x194]
cmp dword [ecx + 0x364], eax
jge 0x42aec0
mov dword [ecx + 0x364], 4
jmp 0x42aec0
mov eax, dword [edx + ebp*4 + 0x194]
mov ecx, dword [eax + 0x364]
cmp ecx, ebx
je 0x42aeef
mov edx, dword [esp + 0x1c]
cmp dword [edx], 4
jne 0x42af71
test ecx, ecx
je 0x42aeeb
cmp ecx, 2
jle 0x42af71
mov edx, dword [esp + 0x14]
add dword [eax + 0x364], 0xffffffff
mov eax, dword [edx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 0
jge 0x42aec0
mov dword [eax + 0x364], 4
jmp 0x42aec0
cmp byte [ecx + 0xd1], 0
je 0x42af48
cmp dword [ebp*4 + 0x451268], eax
jne 0x42af3b
push 0
mov ecx, 0x45560c
call fcn.00401a30
mov dword [ebp*4 + 0x451288], 3
mov dword [ebp*4 + 0x451268], 1
jmp 0x42af85
cmp byte [ecx + 0xd2], 0
je 0x42af7e
cmp dword [ebp*4 + 0x451268], eax
jne 0x42af71
push 0
mov ecx, 0x455614
mov dword [ebp*4 + 0x451288], 1
call fcn.00401a30
mov dword [ebp*4 + 0x451268], 1
jmp 0x42af85
mov dword [ebp*4 + 0x451268], eax
cmp dword [ebp*4 + 0x451288], 3
jne 0x42b217
cmp dword [ebp*4 + 0x451248], 0
mov eax, dword [esp + 0x24]
push eax
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esi + 0x5e]
lea edx, [edi + 0x93]
push ecx
push edx
jl 0x42b006
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + ebp*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6fc]
call fcn.0043f010
lea edx, [esi + 0xf1]
push edx
mov edx, dword [0x455608]
lea eax, [edi + 0xb1]
push eax
mov eax, dword [ebx + ebp*4 + 0x194]
mov ecx, dword [eax + 0x368]
push 0xffffff
push 0
add ecx, 0x25324
push ecx
push edx
call fcn.00401290
jmp 0x42b03b
mov ecx, dword [0x44fd84]
call fcn.0043f010
mov ecx, dword [0x455608]
lea eax, [esi + 0xf1]
push eax
lea eax, [edi + 0xb1]
push eax
push 0xffffff
push 0
push str._Random
push ecx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebx + ebp*4 + 0x194]
add esp, 0x18
cmp dword [edx + 0x364], 0
jne 0x42b077
mov edx, dword [0x455608]
lea eax, [esi + 0x107]
push eax
lea ecx, [edi + 0xa7]
push ecx
push 0xffffff
push 0
push str.Independent
push edx
call fcn.00401290
add esp, 0x18
mov eax, dword [ebx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 1
jne 0x42b0af
mov eax, dword [0x455608]
lea ecx, [esi + 0x107]
push ecx
lea edx, [edi + 0xbb]
push edx
push 0xffffff
push 0
push str.Team_1
push eax
call fcn.00401290
add esp, 0x18
mov ecx, dword [ebx + ebp*4 + 0x194]
cmp dword [ecx + 0x364], 2
jne 0x42b0e8
mov ecx, dword [0x455608]
lea edx, [esi + 0x107]
push edx
lea eax, [edi + 0xbb]
push eax
push 0xffffff
push 0
push str.Team_2
push ecx
call fcn.00401290
add esp, 0x18
mov edx, dword [ebx + ebp*4 + 0x194]
cmp dword [edx + 0x364], 3
jne 0x42b121
mov edx, dword [0x455608]
lea eax, [esi + 0x107]
push eax
lea ecx, [edi + 0xbb]
push ecx
push 0xffffff
push 0
push str.Team_3
push edx
call fcn.00401290
add esp, 0x18
mov eax, dword [ebx + ebp*4 + 0x194]
cmp dword [eax + 0x364], 4
jne 0x42b15a
mov ecx, dword [0x455608]
add esi, 0x107
push esi
add edi, 0xbb
push edi
push 0xffffff
push 0
push str.Team_4
push ecx
call fcn.00401290
add esp, 0x18
cmp dword [0x4512c8], 0
jne 0x42b1f7
mov edx, dword [ebx + ebp*4 + 0x194]
mov al, byte [edx + 0xd2]
test al, al
je 0x42b1ec
cmp dword [0x44d078], 0x96
jne 0x42b1bd
cmp dword [ebp*4 + 0x451268], 0
jne 0x42b1b0
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp dword [ecx], 1
push 0
setne al
mov ecx, 0x455614
add eax, 1
mov dword [ebp*4 + 0x451288], eax
call fcn.00401a30
mov dword [ebp*4 + 0x451268], 1
jmp 0x42b1f7
test al, al
je 0x42b1ec
cmp dword [0x44d078], 0x96
jge 0x42b1ec
cmp dword [ebp*4 + 0x451268], 0
jne 0x42b1df
mov dword [esp + 0x34], 1
mov dword [ebp*4 + 0x451268], 1
jmp 0x42b1f7
mov dword [ebp*4 + 0x451268], 0
cmp dword [ebp*4 + 0x451288], 3
jne 0x42b217
mov eax, dword [esp + 0x14]
add eax, 4
mov ecx, 1
add dword [esp + 0x38], ecx
mov byte [eax + ebp], 1
jmp 0x42b227
mov eax, dword [esp + 0x14]
add eax, 4
mov byte [eax + ebp], 0
mov ecx, 1
mov eax, dword [ebp*4 + 0x451288]
test eax, eax
je 0x42b237
cmp eax, 3
jne 0x42b23b
add dword [esp + 0x20], ecx
add ebp, ecx
cmp ebp, 8
jl 0x42a25a
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x42b27a
cmp dword [esp + 0x20], 8
jne 0x42b27a
sub dword [0x44d078], ecx
cmp dword [esp + 0x34], 0
je 0x42b269
sub dword [0x44d078], 0x1e
cmp eax, 8
jne 0x42b284
mov dword [0x44d078], 0
jmp 0x42b284
mov dword [0x44d078], 0x96
mov eax, dword [0x4512c8]
cmp eax, ecx
mov dword [0x44d074], eax
jne 0x42b94d
mov edx, dword [esp + 0x24]
mov ecx, dword [0x44fd88]
push edx
xor ebx, ebx
push ebx
push ebx
push 0xffffffffffffffff
push 0xd7
push 0xda
mov dword [0x451220], ebx
call fcn.0043f010
mov eax, dword [esp + 0x14]
xor ebp, ebp
lea edx, [eax + 5]
mov dword [esp + 0x814], ebx
mov dword [esp + 0x818], ebx
mov dword [esp + 0x81c], ebx
mov dword [esp + 0x820], ebx
mov dword [esp + 0x824], ebx
add eax, 0x198
lea esi, [ebx + 2]
cmp byte [edx - 1], 0
je 0x42b326
mov ecx, dword [eax - 4]
mov ecx, dword [ecx + 0x364]
cmp ecx, ebx
je 0x42b30c
cmp dword [esp + ecx*4 + 0x814], ebx
jne 0x42b329
mov ecx, dword [eax - 4]
mov ecx, dword [ecx + 0x364]
add dword [esp + ecx*4 + 0x814], 1
lea ecx, [esp + ecx*4 + 0x814]
jmp 0x42b329
add ebp, 1
cmp byte [edx], 0
je 0x42b364
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x364]
cmp ecx, ebx
je 0x42b343
cmp dword [esp + ecx*4 + 0x814], ebx
jne 0x42b367
mov ecx, dword [eax]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x814]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x814], edi
jmp 0x42b367
add ebp, 1
cmp byte [edx + 1], 0
je 0x42b3a5
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x364]
cmp ecx, ebx
je 0x42b383
cmp dword [esp + ecx*4 + 0x814], ebx
jne 0x42b3a8
mov ecx, dword [eax + 4]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x814]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x814], edi
jmp 0x42b3a8
add ebp, 1
cmp byte [edx + 2], 0
je 0x42b3e6
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x364]
cmp ecx, ebx
je 0x42b3c4
cmp dword [esp + ecx*4 + 0x814], ebx
jne 0x42b3e9
mov ecx, dword [eax + 8]
mov edi, dword [ecx + 0x364]
mov edi, dword [esp + edi*4 + 0x814]
mov ecx, dword [ecx + 0x364]
add edi, 1
mov dword [esp + ecx*4 + 0x814], edi
jmp 0x42b3e9
add ebp, 1
add eax, 0x10
add edx, 4
sub esi, 1
jne 0x42b2f0
cmp ebp, ebx
mov dword [esp + 0x18], ebp
jne 0x42b40a
mov dword [0x4512c8], 3
mov edx, dword [esp + 0x824]
mov eax, dword [esp + 0x820]
mov edi, dword [esp + 0x1c]
add edx, eax
add edx, dword [esp + 0x81c]
add edx, dword [esp + 0x818]
add edx, dword [esp + 0x814]
cmp edx, 2
jge 0x42b444
cmp dword [edi], 1
je 0x42b444
mov eax, 1
jmp 0x42b446
xor eax, eax
mov ecx, dword [0x44d070]
cmp ecx, 0xffffff9c
mov dword [esp + 0x30], eax
je 0x42b45d
cmp ecx, eax
jl 0x42b45d
cmp ecx, ebp
jle 0x42b465
mov ecx, eax
mov dword [0x44d070], ecx
mov ebp, dword [esp + 0x14]
xor esi, esi
add ebp, 0x194
mov edx, ebp
jmp 0x42b480
mov eax, dword [esp + 0x14]
cmp byte [eax + esi + 4], 0
je 0x42b539
mov eax, dword [edx]
cmp byte [eax + 0xd0], 0
je 0x42b4c1
cmp dword [esi*4 + 0x451268], ebx
jne 0x42b52e
cmp dword [esp + 0x3c], 1
jne 0x42b52e
add ecx, 1
cmp ecx, dword [esp + 0x18]
jle 0x42b52e
mov ecx, dword [esp + 0x30]
jmp 0x42b52e
cmp byte [eax + 0xcf], 0
je 0x42b4e9
cmp dword [esi*4 + 0x451268], ebx
jne 0x42b52e
cmp dword [esp + 0x3c], 1
jne 0x42b52e
sub ecx, 1
cmp ecx, dword [esp + 0x30]
jge 0x42b52e
mov ecx, dword [esp + 0x18]
jmp 0x42b52e
cmp byte [eax + 0xd1], 0
jne 0x42b507
mov eax, dword [edi]
cmp eax, 2
je 0x42b513
cmp eax, 3
je 0x42b507
mov dword [esi*4 + 0x451268], ebx
jmp 0x42b539
mov eax, dword [edi]
cmp eax, 2
je 0x42b513
cmp eax, 3
jne 0x42b51e
mov ecx, dword [esp + 0x18]
mov dword [esi*4 + 0x451268], ebx
cmp dword [esi*4 + 0x451268], ebx
jne 0x42b52e
cmp dword [esp + 0x3c], 1
je 0x42b553
mov dword [esi*4 + 0x451268], 1
add esi, 1
add edx, 4
cmp esi, 8
jl 0x42b480
mov dword [0x44d070], ecx
jmp 0x42b86a
mov eax, dword [edi]
cmp eax, 2
mov dword [0x44d070], ecx
je 0x42b576
cmp eax, 3
je 0x42b576
push ebx
mov ecx, 0x455610
call fcn.00401a30
mov ecx, dword [0x44d070]
cmp ecx, ebx
mov eax, 2
mov dword [0x4512c8], eax
jne 0x42b73c
xor ecx, ecx
cmp dword [0x451248], ecx
mov dword [0x44d06c], eax
setl cl
xor edx, edx
cmp dword [0x45124c], edx
mov ebx, ebp
setl dl
xor eax, eax
cmp dword [0x451250], eax
mov dword [0x451228], ecx
setl al
xor ecx, ecx
cmp dword [0x451254], ecx
mov dword [0x45122c], edx
setl cl
xor edx, edx
cmp dword [0x451258], edx
mov dword [0x451230], eax
setl dl
xor eax, eax
cmp dword [0x45125c], eax
mov dword [0x451234], ecx
setl al
xor ecx, ecx
cmp dword [0x451260], ecx
mov dword [0x451238], edx
setl cl
xor edx, edx
cmp dword [0x451264], edx
mov dword [0x4512c8], 3
setl dl
mov dword [0x45123c], eax
xor ebp, ebp
mov dword [0x451240], ecx
mov dword [0x451244], edx
cmp dword [ebp + 0x451228], 0
je 0x42b726
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x7d4]
mov eax, 1
xor esi, esi
cmp dword [ecx + 0x4d82380], eax
jle 0x42b6f9
mov edx, ecx
mov edx, dword [edx + 0x4d82380]
mov dword [esp + 0x20], edx
lea edi, [ecx + 4]
lea ebx, [ebx]
xor ecx, ecx
cmp dword [0x451248], eax
jne 0x42b66f
mov ecx, 1
cmp dword [0x45124c], eax
jne 0x42b67c
mov ecx, 1
cmp dword [0x451250], eax
jne 0x42b689
mov ecx, 1
cmp dword [0x451254], eax
jne 0x42b696
mov ecx, 1
cmp dword [0x451258], eax
jne 0x42b6a3
mov ecx, 1
cmp dword [0x45125c], eax
jne 0x42b6b0
mov ecx, 1
cmp dword [0x451260], eax
jne 0x42b6bd
mov ecx, 1
cmp dword [0x451264], eax
jne 0x42b6ca
mov ecx, 1
mov edx, dword [edi]
cmp dword [edx + 0x6f8], 0
jne 0x42b6e9
test ecx, ecx
jne 0x42b6e9
cmp dword [edx + 0x6f4], 0x1e
jge 0x42b6e9
mov dword [esp + esi*4 + 0x44], eax
add esi, 1
add eax, 1
add edi, 4
cmp eax, dword [esp + 0x20]
jl 0x42b660
push esi
push 0xd7
call fcn.00417170
mov eax, dword [esp + eax*4 + 0x4c]
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 0x451248], eax
mov edx, dword [ecx + 0x7d4]
mov ecx, dword [ebx]
mov edx, dword [edx + eax*4]
add esp, 8
mov dword [ecx + 0x368], edx
add ebp, 4
add ebx, 4
cmp ebp, 0x20
jl 0x42b621
xor ebx, ebx
jmp 0x42b86a
mov edx, dword [esp + 0x14]
cmp byte [edx + 4], 0
mov eax, ecx
jne 0x42b767
cmp ecx, ebx
jle 0x42b767
lea eax, [ecx - 1]
mov edx, ecx
sub edx, eax
mov dword [edx*4 + 0x4511fc], ebx
mov edx, 0xb
mov dword [0x451288], edx
jmp 0x42b76c
mov edx, 0xb
mov edi, dword [esp + 0x14]
cmp byte [edi + 5], 0
jne 0x42b792
cmp eax, ebx
jle 0x42b792
sub eax, 1
mov ebp, ecx
sub ebp, eax
mov dword [ebp*4 + 0x4511fc], 1
mov dword [0x45128c], edx
cmp byte [edi + 6], 0
jne 0x42b7b4
cmp eax, ebx
jle 0x42b7b4
sub eax, 1
mov ebp, ecx
sub ebp, eax
mov dword [ebp*4 + 0x4511fc], 2
mov dword [0x451290], edx
cmp byte [edi + 7], 0
jne 0x42b7d6
cmp eax, ebx
jle 0x42b7d6
sub eax, 1
mov ebp, ecx
sub ebp, eax
mov dword [ebp*4 + 0x4511fc], 3
mov dword [0x451294], edx
cmp byte [edi + 8], 0
jne 0x42b7f8
cmp eax, ebx
jle 0x42b7f8
sub eax, 1
mov ebp, ecx
sub ebp, eax
mov dword [ebp*4 + 0x4511fc], 4
mov dword [0x451298], edx
cmp byte [edi + 9], 0
jne 0x42b81a
cmp eax, ebx
jle 0x42b81a
sub eax, 1
mov ebp, ecx
sub ebp, eax
mov dword [ebp*4 + 0x4511fc], 5
mov dword [0x45129c], edx
cmp byte [edi + 0xa], 0
jne 0x42b83c
cmp eax, ebx
jle 0x42b83c
sub eax, 1
mov ebp, ecx
sub ebp, eax
mov dword [ebp*4 + 0x4511fc], 6
mov dword [0x4512a0], edx
cmp byte [edi + 0xb], 0
jne 0x42b859
cmp eax, ebx
jle 0x42b859
sub ecx, eax
mov dword [ecx*4 + 0x451200], 7
mov dword [0x4512a4], edx
mov dword [0x4511fc], ebx
mov dword [esi*4 + 0x451268], 1
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
xor edi, edi
mov esi, 0x118
lea esp, [esp]
push edi
lea eax, [esp + 0x818]
push 0x447b08
push eax
call dword [0x447174]
add esp, 0xc
cmp edi, ebx
jl 0x42b8af
cmp edi, ebp
jg 0x42b8af
push 0x11e
lea ecx, [esi + 6]
push ecx
push 0xffffff
jmp 0x42b8bd
push 0x11e
lea ecx, [esi + 6]
push ecx
push 0xc06850
mov eax, dword [0x455608]
push 0x9f472f
lea edx, [esp + 0x824]
push edx
push eax
call fcn.00401290
add esp, 0x18
cmp dword [0x44d070], edi
jne 0x42b936
push 0xffffff
push 1
push 0x15
push 0x11b
push esi
call fcn.00415160
push 0xffffff
push 0x15
push 1
push 0x11b
push esi
call fcn.00415160
push 0xffffff
push 1
push 0x15
push 0x12f
push esi
call fcn.00415160
push 0xffffff
push 0x15
push 1
lea ecx, [esi + 0x14]
push 0x11b
push ecx
call fcn.00415160
add esp, 0x50
add esi, 0x1e
add edi, 1
cmp esi, 0x1ea
jle 0x42b880
mov eax, dword [0x4512c8]
cmp eax, 2
mov edi, dword [esp + 0x3c]
je 0x42b964
cmp eax, 3
jne 0x42e0b6
mov eax, dword [0x4512c8]
xor ecx, ecx
cmp eax, 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
jne 0x42ba82
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 4]
mov esi, eax
mov eax, 0x451268
lea edx, [ecx + 0x194]
cmp byte [esi], 0
je 0x42ba6e
mov ecx, dword [edx]
cmp byte [ecx + 0xcd], 0
je 0x42b9c8
cmp dword [eax], 0
jne 0x42b9bd
cmp edi, 2
jne 0x42b9bd
mov dword [esp + 0x34], 1
mov dword [eax], 1
jmp 0x42ba6e
cmp byte [ecx + 0xce], 0
je 0x42b9dc
mov dword [eax], 1
jmp 0x42ba6e
cmp byte [ecx + 0xd0], 0
je 0x42b9ff
cmp dword [eax], 0
jne 0x42b9f7
cmp edi, 2
jne 0x42b9f7
mov dword [esp + 0x38], 1
mov dword [eax], 1
jmp 0x42ba6e
cmp byte [ecx + 0xcf], 0
je 0x42ba22
cmp dword [eax], 0
jne 0x42ba1a
cmp edi, 2
jne 0x42ba1a
mov dword [esp + 0x28], 1
mov dword [eax], 1
jmp 0x42ba6e
cmp byte [ecx + 0xd1], 0
je 0x42ba45
cmp dword [eax], 0
jne 0x42ba3d
cmp edi, 2
jne 0x42ba3d
mov dword [esp + 0x2c], 1
mov dword [eax], 1
jmp 0x42ba6e
cmp byte [ecx + 0xd2], 0
je 0x42ba68
cmp dword [eax], 0
jne 0x42ba60
cmp edi, 2
jne 0x42ba60
mov dword [esp + 0x30], 1
mov dword [eax], 1
jmp 0x42ba6e
mov dword [eax], 0
add eax, 4
add esi, 1
add edx, 4
cmp eax, 0x451288
jl 0x42b997
xor ebx, ebx
cmp dword [0x44d070], ebx
jle 0x42bd90
mov edi, dword [esp + 0x14]
mov esi, dword [ebx*4 + 0x451200]
cmp dword [esi*4 + 0x451288], 0xb
jle 0x42bba3
mov eax, esi
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
imul edi, edi, 0xd4
cmp dword [esi*4 + 0x451248], 0
mov ebp, esi
jl 0x42bb43
and ebp, 0x80000003
jns 0x42bad5
dec ebp
or ebp, 0xfffffffc
inc ebp
mov edx, dword [esp + 0x24]
imul ebp, ebp, 0x99
push edx
mov edx, dword [esp + 0x18]
push 0
push 0
push 0xffffffffffffffff
lea eax, [edi + 0x5e]
push eax
mov eax, dword [edx + esi*4 + 0x194]
lea ecx, [ebp + 0x93]
push ecx
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6fc]
call fcn.0043f010
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov edx, dword [0x455608]
add edi, 0xf1
push edi
add ebp, 0xb1
push ebp
push 0x9b9bff
push 0
add ecx, 0x25324
push ecx
push edx
jmp 0x42bb97
and ebp, 0x80000003
jns 0x42bb50
dec ebp
or ebp, 0xfffffffc
inc ebp
mov eax, dword [esp + 0x24]
imul ebp, ebp, 0x99
push eax
push 0
push 0
push 0xffffffffffffffff
lea ecx, [edi + 0x5e]
push ecx
mov ecx, dword [0x44fd84]
lea edx, [ebp + 0x93]
push edx
call fcn.0043f010
mov eax, dword [0x455608]
add edi, 0xf1
push edi
add ebp, 0xb1
push ebp
push 0x9b9bff
push 0
push str._Random
push eax
call fcn.00401290
mov edi, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esi*4 + 0x451288], 0xc
jle 0x42bd81
mov ecx, dword [edi + esi*4 + 0x194]
cmp dword [ecx + 0x364], 0
jne 0x42bc0e
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
mov edx, esi
and edx, 0x80000003
push eax
jns 0x42bbe7
dec edx
or edx, 0xfffffffc
inc edx
mov eax, dword [0x455608]
imul edx, edx, 0x99
add edx, 0xa7
push edx
push 0x9b9bff
push 0
push str.Independent
push eax
call fcn.00401290
add esp, 0x18
mov ecx, dword [edi + esi*4 + 0x194]
cmp dword [ecx + 0x364], 1
jne 0x42bc6b
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
mov edx, esi
and edx, 0x80000003
push eax
jns 0x42bc44
dec edx
or edx, 0xfffffffc
inc edx
mov eax, dword [0x455608]
imul edx, edx, 0x99
add edx, 0xbb
push edx
push 0x9b9bff
push 0
push str.Team_1
push eax
call fcn.00401290
add esp, 0x18
mov ecx, dword [edi + esi*4 + 0x194]
cmp dword [ecx + 0x364], 2
jne 0x42bcc8
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
mov edx, esi
and edx, 0x80000003
push eax
jns 0x42bca1
dec edx
or edx, 0xfffffffc
inc edx
mov eax, dword [0x455608]
imul edx, edx, 0x99
add edx, 0xbb
push edx
push 0x9b9bff
push 0
push str.Team_2
push eax
call fcn.00401290
add esp, 0x18
mov ecx, dword [edi + esi*4 + 0x194]
cmp dword [ecx + 0x364], 3
jne 0x42bd25
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
mov edx, esi
and edx, 0x80000003
push eax
jns 0x42bcfe
dec edx
or edx, 0xfffffffc
inc edx
mov eax, dword [0x455608]
imul edx, edx, 0x99
add edx, 0xbb
push edx
push 0x9b9bff
push 0
push str.Team_3
push eax
call fcn.00401290
add esp, 0x18
mov ecx, dword [edi + esi*4 + 0x194]
cmp dword [ecx + 0x364], 4
jne 0x42bd81
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
and esi, 0x80000003
push eax
jns 0x42bd59
dec esi
or esi, 0xfffffffc
inc esi
mov edx, dword [0x455608]
imul esi, esi, 0x99
add esi, 0xbb
push esi
push 0x9b9bff
push 0
push str.Team_4
push edx
call fcn.00401290
add esp, 0x18
add ebx, 1
cmp ebx, dword [0x44d070]
jl 0x42ba94
mov eax, dword [0x4511fc]
mov ebp, dword [eax*4 + 0x451200]
cmp dword [ebp*4 + 0x451288], 0xb
jne 0x42c3bf
mov eax, ebp
cdq
and edx, 3
add eax, edx
mov esi, eax
sar esi, 2
imul esi, esi, 0xd4
cmp dword [ebp*4 + 0x451248], 0
mov edi, ebp
jl 0x42be79
and edi, 0x80000003
jns 0x42bdda
dec edi
or edi, 0xfffffffc
inc edi
mov eax, dword [esp + 0x24]
imul edi, edi, 0x99
push eax
mov eax, dword [esp + 0x18]
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esi + 0x5e]
push ecx
mov ecx, dword [eax + ebp*4 + 0x194]
lea edx, [edi + 0x93]
push edx
mov edx, dword [ecx + 0x368]
mov ecx, dword [edx + 0x6fc]
call fcn.0043f010
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov al, cl
add al, 0x46
movzx edx, al
add cl, 0x19
or edx, 0xff00
movzx eax, cl
mov ecx, dword [esp + 0x14]
add esi, 0xf1
push esi
shl edx, 8
add edi, 0xb1
or edx, eax
push edi
push edx
mov edx, dword [ecx + ebp*4 + 0x194]
mov eax, dword [edx + 0x368]
push 0
add eax, 0x25324
push eax
jmp 0x42befd
and edi, 0x80000003
jns 0x42be86
dec edi
or edi, 0xfffffffc
inc edi
mov edx, dword [esp + 0x24]
imul edi, edi, 0x99
push edx
push 0
push 0
push 0xffffffffffffffff
lea eax, [esi + 0x5e]
push eax
lea ecx, [edi + 0x93]
push ecx
mov ecx, dword [0x44fd84]
call fcn.0043f010
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, 0x4c
imul dl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov al, cl
add al, 0x46
movzx edx, al
add cl, 0x19
add esi, 0xf1
push esi
or edx, 0xff00
movzx eax, cl
add edi, 0xb1
push edi
shl edx, 8
or edx, eax
push edx
push 0
push str._Random
mov ecx, dword [0x455608]
push ecx
call fcn.00401290
mov edi, dword [0x458428]
mov ebx, dword [esp + 0x2c]
add esp, 0x18
or esi, 0xffffffff
cmp dword [esp + 0x38], 0
je 0x42bf93
add dword [ebp*4 + 0x451248], 1
mov ecx, dword [ebp*4 + 0x451248]
mov eax, dword [ebx + 0x7d4]
cmp ecx, dword [eax + 0x4d82380]
jge 0x42c01b
cmp ecx, esi
je 0x42bf93
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x6f8], 0
jne 0x42bf20
mov edx, dword [eax + 0x6f4]
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x4466b0
cmp eax, 3
jne 0x42bf77
cmp edi, 0xffffffff
jne 0x42bf20
mov edx, dword [ebx + 0x7d4]
mov eax, dword [ebx + ebp*4 + 0x194]
mov ecx, dword [edx + ecx*4]
mov dword [eax + 0x368], ecx
mov edi, dword [0x458428]
cmp dword [esp + 0x28], 0
je 0x42c044
add dword [ebp*4 + 0x451248], esi
cmp dword [ebp*4 + 0x451248], esi
je 0x42c044
jge 0x42bfca
mov edx, dword [ebx + 0x7d4]
mov eax, dword [edx + 0x4d82380]
sub eax, 1
mov dword [ebp*4 + 0x451248], eax
mov ecx, dword [ebp*4 + 0x451248]
mov edx, dword [ebx + 0x7d4]
mov eax, dword [edx + ecx*4]
cmp dword [eax + 0x6f8], 0
jne 0x42c009
mov ecx, dword [eax + 0x6f4]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x446b56
cmp eax, 3
jne 0x42c027
cmp edi, 0xffffffff
je 0x42c027
add dword [ebp*4 + 0x451248], esi
cmp dword [ebp*4 + 0x451248], esi
jne 0x42bfb2
jmp 0x42c044
mov dword [ebp*4 + 0x451248], esi
jmp 0x42bf93
mov eax, dword [ebp*4 + 0x451248]
mov ecx, dword [ebx + 0x7d4]
mov edx, dword [ebx + ebp*4 + 0x194]
mov eax, dword [ecx + eax*4]
mov dword [edx + 0x368], eax
cmp dword [esp + 0x34], 0
je 0x42c052
mov dword [ebp*4 + 0x451248], esi
cmp dword [0x451220], 1
mov edi, dword [esp + 0x1c]
jne 0x42c08f
mov dword [ebp*4 + 0x451248], esi
cmp dword [edi], 2
mov esi, 0xb
je 0x42c077
mov dword [ebp*4 + 0x451288], esi
cmp dword [edi], 1
jne 0x42c083
mov dword [ebp*4 + 0x451288], esi
mov dword [0x451220], 0
jmp 0x42c094
mov esi, 0xb
cmp dword [esp + 0x2c], 0
je 0x42c2e7
push 0
mov ecx, 0x45560c
call fcn.00401a30
lea ebp, [ebp*4 + 0x451288]
mov dword [ebp], 0xc
cmp dword [edi], 1
mov dword [esp + 0x2c], 0
jne 0x42c2e7
mov eax, dword [0x4511fc]
mov ecx, dword [eax*4 + 0x451200]
mov dword [ebp], 0xd
xor ebp, ebp
cmp dword [ecx*4 + 0x451248], ebp
mov dword [0x451220], ebp
jge 0x42c0f8
mov dword [0x451220], 1
add eax, 1
cmp eax, dword [0x44d070]
mov dword [0x4511fc], eax
jl 0x42c2d7
xor edx, edx
cmp dword [0x451248], ebp
mov dword [esp + 0x30], ebp
setl dl
xor eax, eax
cmp dword [0x45124c], ebp
setl al
xor ecx, ecx
cmp dword [0x451250], ebp
mov dword [0x451228], edx
setl cl
xor edx, edx
cmp dword [0x451254], ebp
mov dword [0x45122c], eax
setl dl
xor eax, eax
cmp dword [0x451258], ebp
mov dword [0x451230], ecx
setl al
xor ecx, ecx
cmp dword [0x45125c], ebp
mov dword [0x451234], edx
setl cl
xor edx, edx
cmp dword [0x451260], ebp
mov dword [0x451238], eax
setl dl
xor eax, eax
cmp dword [0x451264], ebp
mov dword [0x45123c], ecx
setl al
lea ecx, [ebx + 0x194]
mov dword [esp + 0x20], ecx
mov dword [0x451240], edx
mov dword [0x451244], eax
cmp dword [ebp + 0x451228], 0
je 0x42c2a8
mov ecx, dword [ebx + 0x7d4]
mov eax, 1
xor esi, esi
cmp dword [ecx + 0x4d82380], eax
jle 0x42c27b
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0x7d4]
mov ebx, dword [edx + 0x4d82380]
lea edi, [ecx + 4]
jmp 0x42c1e0
xor ecx, ecx
cmp dword [0x451248], eax
jne 0x42c1ef
mov ecx, 1
cmp dword [0x45124c], eax
jne 0x42c1fc
mov ecx, 1
cmp dword [0x451250], eax
jne 0x42c209
mov ecx, 1
cmp dword [0x451254], eax
jne 0x42c216
mov ecx, 1
cmp dword [0x451258], eax
jne 0x42c223
mov ecx, 1
cmp dword [0x45125c], eax
jne 0x42c230
mov ecx, 1
cmp dword [0x451260], eax
jne 0x42c23d
mov ecx, 1
cmp dword [0x451264], eax
jne 0x42c24a
mov ecx, 1
mov edx, dword [edi]
cmp dword [edx + 0x6f8], 0
jne 0x42c269
test ecx, ecx
jne 0x42c269
cmp dword [edx + 0x6f4], 0x1e
jge 0x42c269
mov dword [esp + esi*4 + 0x44], eax
add esi, 1
add eax, 1
add edi, 4
cmp eax, ebx
jl 0x42c1e0
mov ebx, dword [esp + 0x14]
push esi
push 0xd8
call fcn.00417170
mov eax, dword [esp + eax*4 + 0x4c]
mov edx, dword [esp + 0x28]
mov dword [ebp + 0x451248], eax
mov ecx, dword [ebx + 0x7d4]
mov edx, dword [edx]
mov eax, dword [ecx + eax*4]
add esp, 8
mov dword [edx + 0x368], eax
add dword [esp + 0x20], 4
add ebp, 4
cmp ebp, 0x20
jl 0x42c19f
mov eax, dword [0x4511fc]
mov dword [0x44d06c], 2
mov dword [0x4512c8], 3
jmp 0x42c3bf
mov ecx, dword [eax*4 + 0x451200]
mov dword [ecx*4 + 0x451288], esi
jmp 0x42c2ec
mov eax, dword [0x4511fc]
cmp dword [esp + 0x30], 0
je 0x42c3bf
xor ebx, ebx
push ebx
mov ecx, 0x455614
call fcn.00401a30
mov eax, dword [0x4511fc]
cmp eax, ebx
mov dword [esp + 0x30], ebx
jne 0x42c38d
cmp dword [0x451288], esi
mov dword [0x4512c8], 1
jne 0x42c329
mov dword [0x451288], ebx
cmp dword [0x45128c], esi
jne 0x42c337
mov dword [0x45128c], ebx
cmp dword [0x451290], esi
jne 0x42c345
mov dword [0x451290], ebx
cmp dword [0x451294], esi
jne 0x42c353
mov dword [0x451294], ebx
cmp dword [0x451298], esi
jne 0x42c361
mov dword [0x451298], ebx
cmp dword [0x45129c], esi
jne 0x42c36f
mov dword [0x45129c], ebx
cmp dword [0x4512a0], esi
jne 0x42c37d
mov dword [0x4512a0], ebx
cmp dword [0x4512a4], esi
jne 0x42c3bf
mov dword [0x4512a4], ebx
jmp 0x42c3bf
mov ecx, dword [eax*4 + 0x4511fc]
sub eax, 1
mov dword [ecx*4 + 0x451288], 0xc
cmp dword [edi], 1
mov dword [0x4511fc], eax
jne 0x42c3b3
mov dword [ecx*4 + 0x451288], esi
cmp dword [edi], 2
jne 0x42c3bf
mov dword [ecx*4 + 0x451288], esi
mov esi, dword [eax*4 + 0x451200]
cmp dword [esi*4 + 0x451288], 0xc
jne 0x42cb75
mov edx, dword [0x44d070]
or edi, 0xffffffff
add edx, edi
cmp eax, edx
jne 0x42c50d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x42c3fa
cmp eax, 4
jne 0x42c50d
mov eax, dword [esp + 0x14]
add eax, 0x198
mov ecx, 2
mov ebp, 0x45128c
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 4]
cdq
mov ebx, 0xa
idiv ebx
cmp edx, 3
jne 0x42c44f
lea edx, [ecx - 2]
cmp edx, esi
je 0x42c44f
mov eax, dword [esp + 0x18]
mov edx, dword [eax - 4]
mov eax, dword [edx + 0x364]
test eax, eax
je 0x42c44a
cmp edi, 0xffffffff
jne 0x42c442
mov edi, eax
jmp 0x42c44f
test edi, edi
jl 0x42c44f
cmp eax, edi
je 0x42c44f
mov edi, 0xfffffffe
mov eax, dword [ebp]
cdq
idiv ebx
cmp edx, 3
jne 0x42c487
lea eax, [ecx - 1]
cmp eax, esi
je 0x42c487
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov eax, dword [eax + 0x364]
test eax, eax
je 0x42c482
cmp edi, 0xffffffff
jne 0x42c47a
mov edi, eax
jmp 0x42c487
test edi, edi
jl 0x42c487
cmp eax, edi
je 0x42c487
mov edi, 0xfffffffe
mov eax, dword [ebp + 4]
cdq
idiv ebx
cmp edx, 3
jne 0x42c4bd
cmp ecx, esi
je 0x42c4bd
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x364]
test eax, eax
je 0x42c4b8
cmp edi, 0xffffffff
jne 0x42c4b0
mov edi, eax
jmp 0x42c4bd
test edi, edi
jl 0x42c4bd
cmp eax, edi
je 0x42c4bd
mov edi, 0xfffffffe
mov eax, dword [ebp + 8]
cdq
idiv ebx
cmp edx, 3
jne 0x42c4f6
lea edx, [ecx + 1]
cmp edx, esi
je 0x42c4f6
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x364]
test eax, eax
je 0x42c4f1
cmp edi, 0xffffffff
jne 0x42c4e9
mov edi, eax
jmp 0x42c4f6
test edi, edi
jl 0x42c4f6
cmp eax, edi
je 0x42c4f6
mov edi, 0xfffffffe
add dword [esp + 0x18], 0x10
add ecx, 4
lea eax, [ecx - 2]
add ebp, 0x10
cmp eax, 8
jl 0x42c411
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + esi*4 + 0x194]
mov eax, dword [ecx + 0x364]
cmp eax, edi
je 0x42c534
mov edx, dword [esp + 0x1c]
cmp dword [edx], 4
jne 0x42c54d
test eax, eax
je 0x42c534
cmp eax, 2
jle 0x42c54d
mov eax, dword [ecx + 0x364]
add eax, 1
cdq
mov ebp, 5
idiv ebp
mov dword [ecx + 0x364], edx
jmp 0x42c511
mov eax, ecx
cmp dword [eax + 0x364], 0
jne 0x42c5e2
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
push eax
mov eax, esi
and eax, 0x80000003
jns 0x42c5a3
dec eax
or eax, 0xfffffffc
inc eax
imul eax, eax, 0x99
add eax, 0xa7
push eax
mov dl, cl
add dl, 0x46
movzx eax, dl
mov edx, dword [0x455608]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
push 0
push str.Independent
push edx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [ebx + esi*4 + 0x194]
cmp dword [eax + 0x364], 1
jne 0x42c67c
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
push eax
mov eax, esi
and eax, 0x80000003
jns 0x42c63d
dec eax
or eax, 0xfffffffc
inc eax
imul eax, eax, 0x99
add eax, 0xbb
push eax
mov dl, cl
add dl, 0x46
movzx eax, dl
mov edx, dword [0x455608]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
push 0
push str.Team_1
push edx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [ebx + esi*4 + 0x194]
cmp dword [eax + 0x364], 2
jne 0x42c716
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
push eax
mov eax, esi
and eax, 0x80000003
jns 0x42c6d7
dec eax
or eax, 0xfffffffc
inc eax
imul eax, eax, 0x99
add eax, 0xbb
push eax
mov dl, cl
add dl, 0x46
movzx eax, dl
mov edx, dword [0x455608]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
push 0
push str.Team_2
push edx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [ebx + esi*4 + 0x194]
cmp dword [eax + 0x364], 3
jne 0x42c7b0
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
push eax
mov eax, esi
and eax, 0x80000003
jns 0x42c771
dec eax
or eax, 0xfffffffc
inc eax
imul eax, eax, 0x99
add eax, 0xbb
push eax
mov dl, cl
add dl, 0x46
movzx eax, dl
mov edx, dword [0x455608]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
push 0
push str.Team_3
push edx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
add esp, 0x18
mov eax, dword [ebx + esi*4 + 0x194]
cmp dword [eax + 0x364], 4
jne 0x42c84a
mov ebx, dword [0x451224]
mov eax, 0x2aaaaaab
imul ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, 0x4c
imul cl
mov cl, al
mov al, bl
mov dl, 0x1e
imul dl
add cl, al
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, eax, 0xd4
add eax, 0x107
push eax
mov eax, esi
and eax, 0x80000003
jns 0x42c80b
dec eax
or eax, 0xfffffffc
inc eax
imul eax, eax, 0x99
add eax, 0xbb
push eax
mov dl, cl
add dl, 0x46
movzx eax, dl
mov edx, dword [0x455608]
add cl, 0x19
or eax, 0xff00
movzx ecx, cl
shl eax, 8
or eax, ecx
push eax
push 0
push str.Team_4
push edx
call fcn.00401290
mov ebx, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esp + 0x38], 0
je 0x42c892
mov ecx, dword [ebx + esi*4 + 0x194]
mov eax, dword [ecx + 0x364]
add eax, 1
cdq
mov ebp, 5
idiv ebp
mov dword [ecx + 0x364], edx
mov eax, dword [ebx + esi*4 + 0x194]
cmp dword [eax + 0x364], edi
jne 0x42c892
mov ecx, eax
mov eax, dword [ecx + 0x364]
add eax, 1
cdq
idiv ebp
mov dword [ecx + 0x364], edx
xor ebp, ebp
cmp dword [esp + 0x28], ebp
je 0x42c913
mov eax, dword [ebx + esi*4 + 0x194]
or edx, 0xffffffff
add dword [eax + 0x364], edx
mov ecx, dword [ebx + esi*4 + 0x194]
cmp dword [ecx + 0x364], ebp
lea ebp, [edx + 5]
jge 0x42c8c4
mov eax, ecx
mov dword [eax + 0x364], ebp
mov ecx, dword [esp + 0x1c]
jmp 0x42c8d0
mov eax, dword [ebx + esi*4 + 0x194]
mov eax, dword [eax + 0x364]
cmp eax, edi
je 0x42c8ee
cmp dword [ecx], ebp
jne 0x42c919
test eax, eax
je 0x42c8ee
cmp eax, 2
jle 0x42c919
mov eax, dword [ebx + esi*4 + 0x194]
add dword [eax + 0x364], edx
mov eax, dword [ebx + esi*4 + 0x194]
cmp dword [eax + 0x364], 0
jge 0x42c8d0
mov dword [eax + 0x364], ebp
jmp 0x42c8d0
mov ecx, dword [esp + 0x1c]
jmp 0x42c91b
xor ebp, ebp
cmp dword [ecx], 2
jne 0x42c92f
mov ecx, dword [ebx + esi*4 + 0x194]
mov dword [ecx + 0x364], ebp
jmp 0x42c939
cmp dword [esp + 0x2c], ebp
je 0x42cb53
push ebp
mov ecx, 0x45560c
call fcn.00401a30
mov eax, dword [0x4511fc]
mov edx, dword [eax*4 + 0x451200]
cmp dword [edx*4 + 0x451248], ebp
mov dword [esi*4 + 0x451288], 0xd
mov dword [0x451220], ebp
jge 0x42c974
mov dword [0x451220], 1
add eax, 1
cmp eax, dword [0x44d070]
mov dword [0x4511fc], eax
jl 0x42cb41
xor eax, eax
cmp dword [0x451248], eax
mov ebx, dword [esp + 0x14]
setl al
xor ecx, ecx
cmp dword [0x45124c], ecx
setl cl
xor edx, edx
cmp dword [0x451250], edx
mov dword [0x451228], eax
setl dl
xor eax, eax
cmp dword [0x451254], eax
mov dword [0x45122c], ecx
setl al
xor ecx, ecx
cmp dword [0x451258], ecx
mov dword [0x451230], edx
setl cl
xor edx, edx
cmp dword [0x45125c], edx
mov dword [0x451234], eax
setl dl
xor eax, eax
cmp dword [0x451260], eax
mov dword [0x451238], ecx
setl al
xor ecx, ecx
cmp dword [0x451264], ecx
mov dword [0x45123c], edx
setl cl
lea edx, [ebx + 0x194]
mov dword [esp + 0x38], edx
mov dword [0x451240], eax
xor ebp, ebp
mov dword [0x451244], ecx
cmp dword [ebp + 0x451228], 0
je 0x42cb18
mov ecx, dword [ebx + 0x7d4]
mov eax, 1
xor esi, esi
cmp dword [ecx + 0x4d82380], eax
jle 0x42caeb
mov edx, ecx
mov edx, dword [edx + 0x4d82380]
mov dword [esp + 0x20], edx
lea edi, [ecx + 4]
xor ecx, ecx
cmp dword [0x451248], eax
jne 0x42ca61
mov ecx, 1
cmp dword [0x45124c], eax
jne 0x42ca6e
mov ecx, 1
cmp dword [0x451250], eax
jne 0x42ca7b
mov ecx, 1
cmp dword [0x451254], eax
jne 0x42ca88
mov ecx, 1
cmp dword [0x451258], eax
jne 0x42ca95
mov ecx, 1
cmp dword [0x45125c], eax
jne 0x42caa2
mov ecx, 1
cmp dword [0x451260], eax
jne 0x42caaf
mov ecx, 1
cmp dword [0x451264], eax
jne 0x42cabc
mov ecx, 1
mov edx, dword [edi]
cmp dword [edx + 0x6f8], 0
jne 0x42cadb
test ecx, ecx
jne 0x42cadb
cmp dword [edx + 0x6f4], 0x1e
jge 0x42cadb
mov dword [esp + esi*4 + 0x44], eax
add esi, 1
add eax, 1
add edi, 4
cmp eax, dword [esp + 0x20]
jl 0x42ca52
push esi
push 0xd9
call fcn.00417170
mov eax, dword [esp + eax*4 + 0x4c]
mov edx, dword [esp + 0x40]
mov dword [ebp + 0x451248], eax
mov ecx, dword [ebx + 0x7d4]
mov edx, dword [edx]
mov eax, dword [ecx + eax*4]
add esp, 8
mov dword [edx + 0x368], eax
add dword [esp + 0x38], 4
add ebp, 4
cmp ebp, 0x20
jl 0x42ca1d
mov dword [0x44d06c], 2
mov dword [0x4512c8], 3
mov ebp, ebx
jmp 0x42cb86
mov ecx, dword [eax*4 + 0x451200]
mov dword [ecx*4 + 0x451288], 0xb
cmp dword [esp + 0x30], ebp
je 0x42cb75
push ebp
mov ecx, 0x455614
call fcn.00401a30
mov dword [esi*4 + 0x451288], 0xb
mov dword [0x451220], ebp
cmp dword [0x4512c8], 3
jne 0x42e0b6
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
xor esi, esi
cmp dword [edi], 4
je 0x42e0b6
mov ebx, dword [esp + 0x24]
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 8
push 3
push 3
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], esi
call fcn.0043f010
mov ecx, dword [0x451178]
push ebx
push esi
push 1
push 0xf
push 0x9f
push 3
call fcn.0043f010
cmp dword [0x44d06c], esi
jne 0x42cbf5
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 9
push 0x10
push 0x5c
call fcn.0043f010
cmp dword [0x44d06c], 1
jne 0x42cc12
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0xa
push 0x27
push 0x40
call fcn.0043f010
cmp dword [0x44d06c], 2
jne 0x42cc2f
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0xb
push 0x40
push 0x28
call fcn.0043f010
cmp dword [0x44d06c], 3
jne 0x42cc4c
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0xc
push 0x57
push 0xf
call fcn.0043f010
cmp dword [0x44d06c], 4
jne 0x42cc69
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0xd
push 0x6f
push 0x25
call fcn.0043f010
cmp dword [0x44d06c], 5
jne 0x42cc89
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0xe
push 0x89
push 0x65
call fcn.0043f010
cmp dword [0x44d028], 1
jne 0x42cc9e
mov eax, 0x64
mov dword [0x44d024], eax
jmp 0x42cca3
mov eax, dword [0x44d024]
cmp dword [edi], 1
je 0x42ccd5
mov edx, dword [ebp + 0x7d4]
imul eax, eax, 0x990
mov ecx, dword [0x455608]
push 0x5b
push 0xae
push 0xff9b9b
push esi
lea eax, [edx + eax + 0x4d4617c]
push eax
push ecx
jmp 0x42cdb5
mov ecx, dword [0x450b94]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
add eax, eax
sub ecx, eax
je 0x42ccfa
mov dword [0x450b94], eax
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0x17
push 0x57
push 0xf
call fcn.0043f010
cmp dword [0x44d06c], 3
jne 0x42cd2b
mov ecx, dword [0x451178]
push ebx
push esi
push esi
push 0x16
push 0x57
push 0xf
call fcn.0043f010
mov ecx, dword [0x450b94]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 5
push 0x5b
jge 0x42cd75
push 0xc2
push 0xff9b9b
add al, 0x31
push esi
lea edx, [esp + 0x84c]
mov byte [esp + 0x84c], al
mov eax, dword [0x455608]
push edx
mov byte [esp + 0x851], 0
push eax
jmp 0x42cdb5
mov ecx, dword [str.Survival]
mov edx, dword [0x449a3c]
mov al, byte [0x449a40]
push 0xae
push 0xff9b9b
mov dword [esp + 0x848], ecx
push esi
lea ecx, [esp + 0x84c]
mov dword [esp + 0x850], edx
mov edx, dword [0x455608]
push ecx
mov byte [esp + 0x858], al
push edx
call fcn.00401290
mov eax, dword [0x450c30]
add esp, 0x18
cmp eax, 2
jne 0x42cddb
push 0x73
push 0xae
push 0xff9b9b
push esi
push str.Easy
jmp 0x42ce31
cmp eax, 1
jne 0x42cdfb
mov ecx, dword [0x455608]
push 0x73
push 0xae
push 0xff9b9b
push esi
push str.Normal
push ecx
jmp 0x42ce37
cmp eax, esi
jne 0x42ce1a
mov edx, dword [0x455608]
push 0x73
push 0xae
push 0xff9b9b
push esi
push str.Difficult
push edx
jmp 0x42ce37
cmp eax, 0xffffffff
jne 0x42ce3f
push 0x73
push 0xae
push 0xff9b9b
push esi
push str.CRAZY_
mov eax, dword [0x455608]
push eax
call fcn.00401290
add esp, 0x18
lea eax, [ebp + 4]
lea ecx, [ebp + 0x194]
mov ebp, dword [esp + 0x3c]
mov edi, eax
mov eax, 0x451268
mov esi, ecx
mov edx, 1
lea ebx, [ebx]
cmp byte [edi], 0
je 0x42cf07
mov ecx, dword [esi]
cmp byte [ecx + 0xcd], 0
je 0x42ce89
cmp dword [eax], 0
jne 0x42ce82
cmp ebp, 3
jne 0x42ce82
mov dword [esp + 0x34], edx
mov dword [eax], edx
jmp 0x42cf07
cmp byte [ecx + 0xce], 0
je 0x42cea4
cmp dword [eax], 0
jne 0x42cea0
cmp ebp, 3
jne 0x42cea0
mov dword [esp + 0x20], edx
mov dword [eax], edx
jmp 0x42cf07
cmp byte [ecx + 0xd0], 0
je 0x42cebf
cmp dword [eax], 0
jne 0x42cebb
cmp ebp, 3
jne 0x42cebb
mov dword [esp + 0x38], edx
mov dword [eax], edx
jmp 0x42cf07
cmp byte [ecx + 0xcf], 0
je 0x42ceda
cmp dword [eax], 0
jne 0x42ced6
cmp ebp, 3
jne 0x42ced6
mov dword [esp + 0x30], edx
mov dword [eax], edx
jmp 0x42cf07
cmp byte [ecx + 0xd1], 0
je 0x42cef5
cmp dword [eax], 0
jne 0x42cef1
cmp ebp, 3
jne 0x42cef1
mov dword [esp + 0x18], edx
mov dword [eax], edx
jmp 0x42cf07
xor edx, edx
cmp byte [ecx + 0xd2], dl
setne dl
mov dword [eax], edx
mov edx, 1
add eax, 4
add edi, edx
add esi, 4
cmp eax, 0x451288
jl 0x42ce60
cmp dword [esp + 0x34], 0
je 0x42cf33
sub dword [0x44d06c], edx
jns 0x42cf33
mov dword [0x44d06c], 5
cmp dword [esp + 0x20], 0
je 0x42cf50
mov eax, dword [0x44d06c]
add eax, 1
cdq
mov ecx, 6
idiv ecx
mov dword [0x44d06c], edx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi]
push ebx
push edx
push eax
push ecx
call fcn.00402130
xor edi, edi
add esp, 0x10
cmp dword [0x450b98], edi
jne 0x42cf8a
cmp dword [esp + 0x18], edi
je 0x42d789
cmp dword [0x44d06c], edi
jne 0x42d706
mov dword [0x450bb0], edi
mov dword [0x450bb4], edi
cmp dword [esi], 1
jne 0x42d048
mov eax, dword [0x450b94]
cmp eax, edi
mov dword [0x450b9c], 0x46
mov dword [0x450ba8], edi
mov dword [0x450bac], edi
mov dword [0x450ba4], edi
mov dword [0x44d028], edi
jne 0x42cfd6
mov dword [0x44d024], 1
jmp 0x42d029
cmp eax, 0xa
jne 0x42cfe7
mov dword [0x44d024], 2
jmp 0x42d029
cmp eax, 0x14
jne 0x42cff8
mov dword [0x44d024], 3
jmp 0x42d029
cmp eax, 0x1e
jne 0x42d009
mov dword [0x44d024], 4
jmp 0x42d029
cmp eax, 0x28
jne 0x42d01a
mov dword [0x44d024], 5
jmp 0x42d029
cmp eax, 0x32
jne 0x42d029
mov dword [0x44d024], 6
or eax, 0xffffffff
mov dword [0x44fb6c], eax
mov dword [0x450ba0], edi
mov dword [0x44f880], eax
mov dword [0x450bc8], edi
mov dword [0x450bc4], edi
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x814]
push eax
mov dword [edx], edi
call dword [0x4470a4]
movzx ecx, word [esp + 0x820]
movzx edx, word [esp + 0x81e]
movzx eax, word [esp + 0x81c]
mov ebp, dword [0x447174]
push ecx
movzx ecx, word [esp + 0x81e]
push edx
movzx edx, word [esp + 0x81e]
push eax
movzx eax, word [esp + 0x820]
push ecx
push edx
push eax
lea ecx, [esp + 0x8b8]
push str._4d_02d_02d__02d_02d_02d
push ecx
call ebp
add esp, 0x20
cmp dword [esi], 1
jne 0x42d17c
mov ecx, dword [0x450b94]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 5
jge 0x42d14c
add eax, 1
push eax
lea edx, [esp + 0x82c]
push 0x447b08
push edx
call ebp
lea eax, [esp + 0x8ac]
add esp, 0xc
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x42d0f3
mov ecx, dword [str._Stage_]
mov edx, dword [0x4499f4]
mov dword [eax], ecx
mov dword [eax + 4], edx
lea eax, [esp + 0x828]
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42d117
lea edi, [esp + 0x8a0]
sub eax, edx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42d130
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x42d17c
lea eax, [esp + 0x8a0]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x42d156
mov ecx, dword [str._Survival]
mov edx, dword [0x4499e8]
mov dword [eax], ecx
mov cx, word [0x4499ec]
mov dword [eax + 4], edx
mov word [eax + 8], cx
mov edx, dword [esp + 0x1c]
xor ebx, ebx
cmp dword [edx], ebx
jne 0x42d1a1
lea edi, [esp + 0x8a0]
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x42d190
mov eax, dword [0x4499e0]
mov dword [edi], eax
lea ecx, [esp + 0x8a0]
push ecx
push 0x4499d8
push 0x44fd98
call ebp
add esp, 0xc
cmp dword [0x450be4], ebx
mov dword [0x450b6c], ebx
je 0x42d1d0
mov dword [0x450b70], 1
cmp dword [0x450b98], ebx
push ebx
je 0x42d1f5
push 0x226
push 0x31a
push ebx
push ebx
call fcn.00415160
add esp, 0x14
mov dword [0x450b98], ebx
jmp 0x42d1ff
mov ecx, 0x455610
call fcn.00401a30
mov esi, dword [esp + 0x14]
push 0x186
lea eax, [esi + 0xe]
push ebx
push eax
call fcn.004450a0
add esp, 0xc
cmp dword [0x44d028], 1
jne 0x42d25f
mov edx, dword [esi + 0x7d4]
mov eax, dword [edx + 0x4d82384]
sub eax, 2
push eax
push 0xda
call fcn.00417170
mov dword [0x44d024], eax
mov ecx, dword [esi + 0x7d4]
mov edx, dword [ecx + 0x4d82384]
sub edx, 3
add esp, 8
cmp eax, edx
jne 0x42d264
mov eax, 0x63
mov dword [0x44d024], eax
jmp 0x42d264
mov eax, dword [0x44d024]
mov edi, esi
xor ebp, ebp
mov dword [esp + 0x34], eax
xor ebx, ebx
lea esi, [edi + 0x194]
jmp 0x42d280
mov eax, dword [ebx*4 + 0x451288]
cmp eax, 0xa
jle 0x42d3d2
mov eax, dword [esi]
mov ecx, dword [eax + 0x364]
mov edi, dword [esi + 0x28]
mov ebp, dword [eax + 0x368]
mov dword [esp + 0x20], ecx
mov ecx, edi
call fcn.004061d0
fld qword [0x4499d0]
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x368], ebp
mov edx, dword [ebp + 0x90]
fstp qword [edi + 0x58]
fldz
mov ebp, dword [esp + 0x14]
fstp qword [edi + 0x60]
mov dword [edi + 0x31c], edx
fld qword [0x447928]
fstp qword [edi + 0x68]
mov eax, dword [esi + 0x28]
mov edi, dword [esp + 0x34]
mov dword [eax + 0x364], ecx
imul edi, edi, 0x990
mov eax, dword [esp + 0x14]
add eax, 0xe
mov byte [eax + ebx], 1
mov edx, dword [esi + 0x28]
mov dword [edx + 8], 0x4b
mov eax, dword [ebp + 0x7d4]
mov eax, dword [eax + edi + 0x4d45db0]
cdq
sub eax, edx
sar eax, 1
push eax
push 0xdb
call fcn.00417170
mov edx, dword [ebp + 0x7d4]
mov ecx, eax
mov eax, dword [edx + edi + 0x4d45db0]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov eax, dword [esi + 0x28]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp + 0x7d4]
mov edx, dword [ecx + edi + 0x4d45db8]
sub edx, dword [ecx + edi + 0x4d45db4]
lea eax, [ecx + edi]
push edx
push 0xdc
call fcn.00417170
mov ecx, dword [ebp + 0x7d4]
add eax, dword [ecx + edi + 0x4d45db4]
mov edx, dword [esi + 0x28]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x28]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0x28]
add esp, 0x10
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
mov eax, dword [esi + 0x28]
fild dword [eax + 0x18]
fstp qword [eax + 0x68]
mov ecx, dword [esi + 0x28]
fldz
mov eax, dword [esp + 0x1c]
fstp qword [ecx + 0x60]
mov edx, dword [esi + 0x28]
mov dword [edx + 0x308], 0xc8
cmp dword [eax], 1
jne 0x42d3c1
mov ecx, dword [esi + 0x28]
mov dword [ecx + 0x308], 0x1f4
mov eax, dword [esi + 0x28]
lea edx, [ebx + 0xa]
mov dword [eax + 0x354], edx
jmp 0x42d50a
cmp eax, ebp
jle 0x42d50e
mov edi, dword [esi]
mov ecx, dword [edi + 0x364]
mov ebp, dword [edi + 0x368]
mov dword [esp + 0x20], ecx
mov ecx, edi
call fcn.004061d0
fld qword [0x4499c8]
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x368], ebp
mov edx, dword [ebp + 0x90]
fstp qword [edi + 0x58]
fld qword [0x4499c0]
mov ebp, dword [esp + 0x14]
fstp qword [edi + 0x60]
mov dword [edi + 0x31c], edx
fld qword [0x447928]
fstp qword [edi + 0x68]
mov eax, dword [esi]
mov edi, dword [esp + 0x34]
mov dword [eax + 0x364], ecx
imul edi, edi, 0x990
mov eax, dword [esp + 0x14]
add eax, 4
mov byte [eax + ebx], 1
mov edx, dword [esi]
mov dword [edx + 8], 0x4b
mov eax, dword [ebp + 0x7d4]
mov eax, dword [eax + edi + 0x4d45db0]
cdq
sub eax, edx
sar eax, 1
push eax
push 0xdd
call fcn.00417170
mov edx, dword [ebp + 0x7d4]
mov ecx, eax
mov eax, dword [edx + edi + 0x4d45db0]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov eax, dword [esi]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp + 0x7d4]
mov edx, dword [ecx + edi + 0x4d45db8]
sub edx, dword [ecx + edi + 0x4d45db4]
lea eax, [ecx + edi]
push edx
push 0xde
call fcn.00417170
mov ecx, dword [ebp + 0x7d4]
add eax, dword [ecx + edi + 0x4d45db4]
mov edx, dword [esi]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
mov dword [eax + 0x14], 0
mov eax, dword [esi]
add esp, 0x10
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
mov eax, dword [esi]
fild dword [eax + 0x18]
fstp qword [eax + 0x68]
mov ecx, dword [esi]
fldz
mov eax, dword [esp + 0x1c]
fstp qword [ecx + 0x60]
mov edx, dword [esi]
mov dword [edx + 0x308], 0xc8
cmp dword [eax], 1
jne 0x42d502
mov ecx, dword [esi]
mov dword [ecx + 0x308], 0x1f4
mov edx, dword [esi]
mov dword [edx + 0x354], ebx
mov edi, ebp
xor ebp, ebp
add ebx, 1
add esi, 4
cmp ebx, 8
jl 0x42d280
mov eax, 0xa
lea ecx, [edi + 0x198]
lea esi, [eax + 0x46]
jmp 0x42d530
cmp byte [edi + eax - 6], 0
je 0x42d548
mov edx, dword [ecx - 4]
cmp dword [edx + 0x364], ebp
jne 0x42d548
mov dword [edx + 0x364], eax
cmp byte [edi + eax - 5], 0
je 0x42d562
mov edx, dword [ecx]
cmp dword [edx + 0x364], ebp
jne 0x42d562
lea ebx, [eax + 1]
mov dword [edx + 0x364], ebx
cmp byte [edi + eax - 4], 0
je 0x42d57d
mov edx, dword [ecx + 4]
cmp dword [edx + 0x364], ebp
jne 0x42d57d
lea ebx, [eax + 2]
mov dword [edx + 0x364], ebx
cmp byte [edi + eax - 3], 0
je 0x42d598
mov edx, dword [ecx + 8]
cmp dword [edx + 0x364], ebp
jne 0x42d598
lea ebx, [eax + 3]
mov dword [edx + 0x364], ebx
cmp byte [edi + eax - 2], 0
je 0x42d5b3
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x364], ebp
jne 0x42d5b3
lea ebx, [eax + 4]
mov dword [edx + 0x364], ebx
add ecx, 0x14
add eax, 5
sub esi, 1
jne 0x42d530
mov dword [0x450c24], ebp
mov dword [0x450c20], ebp
mov dword [0x450c1c], ebp
mov dword [0x450c18], ebp
mov dword [0x450c14], ebp
mov dword [0x450c10], ebp
mov dword [0x450c0c], ebp
mov dword [0x450c08], ebp
mov dword [0x450c04], ebp
mov dword [0x450c28], ebp
mov eax, dword [edi + 0x7d4]
cmp dword [eax + 0x4d82384], ebp
jle 0x42d62d
lea esp, [esp]
mov ecx, dword [edi + 0x7d4]
push esi
call fcn.0040c0e0
mov ecx, dword [edi + 0x7d4]
add esi, 1
cmp esi, dword [ecx + 0x4d82384]
jl 0x42d610
mov eax, dword [0x44d024]
cmp eax, 0x63
je 0x42d643
mov ecx, dword [edi + 0x7d4]
push eax
call fcn.0040c030
mov ebp, dword [esp + 0x1c]
xor ebx, ebx
mov dword [0x44d034], 1
mov dword [0x450bbc], ebx
mov dword [0x450bdc], ebx
cmp dword [ebp], 1
jne 0x42d6b0
lea esi, [edi + 0x194]
cmp byte [edi + ebx + 4], 0
je 0x42d6a2
mov edx, dword [esi]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x42d6a2
push 0x1e
push 0xdf
call fcn.00417170
mov ecx, dword [esi]
add esp, 8
add eax, 0x32
mov dword [ecx + 0x10], eax
mov eax, dword [esi]
fild dword [eax + 0x10]
fstp qword [eax + 0x58]
add ebx, 1
add esi, 4
cmp ebx, 0x190
jl 0x42d66b
cmp dword [ebp], 0
jne 0x42d6bb
call fcn.004025b0
mov ebx, 0x14
lea ebp, [edi + 0x1e4]
cmp byte [edi + ebx + 4], 0
lea esi, [edi + 4]
jne 0x42d6d8
mov ecx, dword [ebp]
call fcn.004061d0
add ebx, 1
add ebp, 4
cmp ebx, 0x190
jl 0x42d6c6
mov ecx, edi
call fcn.00431c70
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
add edi, 0x194
push edi
push esi
push eax
call fcn.0043d2c0
add esp, 0xc
xor edi, edi
cmp dword [esp + 0x18], edi
mov ebx, 1
je 0x42d78e
cmp dword [0x44d06c], 4
jne 0x42d755
sub dword [0x450c30], ebx
jns 0x42d72e
cmp dword [0x458428], edi
je 0x42d73b
or ebp, 0xffffffff
cmp dword [0x450c30], ebp
jge 0x42d748
jmp 0x42d73e
or ebp, 0xffffffff
mov dword [0x450c30], 2
push edi
mov ecx, 0x455610
call fcn.00401a30
jmp 0x42d758
or ebp, 0xffffffff
cmp dword [0x44d06c], 5
jne 0x42d791
push edi
mov ecx, 0x455610
call fcn.00401a30
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov dword [ecx], 0xa
mov ecx, esi
mov dword [0x457580], edi
call fcn.00431c70
jmp 0x42d795
mov ebx, 1
or ebp, 0xffffffff
mov esi, dword [esp + 0x14]
cmp dword [0x450c2c], ebx
jne 0x42ddba
call fcn.004025d0
mov edx, dword [esp + 0x40]
push 0x190
lea eax, [esi + 4]
push edi
push eax
mov dword [edx], edi
call fcn.004450a0
mov dword [0x44d028], ebx
mov eax, dword [esi + 0x7d4]
mov ecx, dword [eax + 0x4d82384]
sub ecx, 2
push ecx
push 0xe0
call fcn.00417170
mov dword [0x44d024], eax
mov edx, dword [esi + 0x7d4]
mov ecx, dword [edx + 0x4d82384]
sub ecx, 3
add esp, 0x14
cmp eax, ecx
jne 0x42d800
mov dword [0x44d024], 0x63
lea eax, [esi + 0x194]
mov ebp, 0x451248
mov dword [esp + 0x34], eax
jmp 0x42d818
xor edi, edi
mov ebx, 1
mov ecx, dword [esi + 0x7d4]
cmp dword [ecx + 0x4d82380], ebx
mov eax, ebx
jle 0x42d8d7
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0x7d4]
mov ebx, dword [edx + 0x4d82380]
lea esi, [ecx + 4]
nop
xor ecx, ecx
cmp dword [0x451248], eax
jne 0x42d84f
mov ecx, 1
cmp dword [0x45124c], eax
jne 0x42d85c
mov ecx, 1
cmp dword [0x451250], eax
jne 0x42d869
mov ecx, 1
cmp dword [0x451254], eax
jne 0x42d876
mov ecx, 1
cmp dword [0x451258], eax
jne 0x42d883
mov ecx, 1
cmp dword [0x45125c], eax
jne 0x42d890
mov ecx, 1
cmp dword [0x451260], eax
jne 0x42d89d
mov ecx, 1
cmp dword [0x451264], eax
jne 0x42d8aa
mov ecx, 1
mov edx, dword [esi]
cmp dword [edx + 0x6f8], 0
jne 0x42d8c9
test ecx, ecx
jne 0x42d8c9
cmp dword [edx + 0x6f4], 0x1e
jge 0x42d8c9
mov dword [esp + edi*4 + 0x44], eax
add edi, 1
add eax, 1
add esi, 4
cmp eax, ebx
jl 0x42d840
push edi
push 0xe1
call fcn.00417170
mov eax, dword [esp + eax*4 + 0x4c]
mov ecx, dword [esp + 0x1c]
mov dword [ebp], eax
mov edx, dword [ecx + 0x7d4]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx]
mov eax, dword [edx + eax*4]
add ebp, 4
add ecx, 4
add esp, 8
cmp ebp, 0x451268
mov dword [esi + 0x368], eax
mov esi, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
jl 0x42d811
mov ebp, dword [0x44d024]
xor ebx, ebx
imul ebp, ebp, 0x990
mov dword [0x450c2c], 1
add esi, 0x1bc
lea ecx, [ecx]
mov ecx, dword [esi - 0x28]
mov edx, dword [ecx + 0x368]
mov edi, dword [esi]
mov ecx, edi
mov dword [esp + 0x34], edx
call fcn.004061d0
fld qword [0x4499d0]
mov eax, dword [esp + 0x34]
mov dword [edi + 0x368], eax
mov eax, dword [eax + 0x90]
fstp qword [edi + 0x58]
fldz
mov dword [edi + 0x31c], eax
fstp qword [edi + 0x60]
fld qword [0x447928]
fstp qword [edi + 0x68]
mov ecx, dword [esi]
mov edi, dword [esp + 0x14]
mov dword [ecx + 8], 0x4b
mov edx, dword [edi + 0x7d4]
mov eax, dword [edx + ebp + 0x4d45db0]
cdq
sub eax, edx
sar eax, 1
push eax
push 0xe2
call fcn.00417170
mov edx, dword [edi + 0x7d4]
mov ecx, eax
mov eax, dword [edx + ebp + 0x4d45db0]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov eax, dword [esi]
mov dword [eax + 0x10], ecx
mov ecx, dword [edi + 0x7d4]
mov edx, dword [ecx + ebp + 0x4d45db8]
sub edx, dword [ecx + ebp + 0x4d45db4]
lea eax, [ecx + ebp]
push edx
push 0xe3
call fcn.00417170
mov ecx, dword [edi + 0x7d4]
add eax, dword [ecx + ebp + 0x4d45db4]
mov edx, dword [esi]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
fild dword [eax + 0x10]
lea ecx, [ebx + 0xa]
add ebx, 1
add esp, 0x10
fstp qword [eax + 0x58]
mov eax, dword [esi]
fild dword [eax + 0x18]
add esi, 4
cmp ebx, 8
fstp qword [eax + 0x68]
mov eax, dword [esi - 4]
mov dword [eax + 0x308], 0xc8
mov edx, dword [esi - 4]
mov dword [edx + 0x354], ecx
jl 0x42d940
push 0x1e
push 0xe4
call fcn.00417170
add esp, 8
cmp eax, 7
mov esi, edi
jge 0x42da9c
mov eax, dword [esi + 0x1bc]
xor ebp, ebp
mov byte [esi + 0xe], 1
mov dword [eax + 0x364], ebp
lea edi, [ebp + 1]
lea ebx, [esi + 0x1c0]
lea esp, [esp]
push 5
push 0xe5
call fcn.00417170
mov ecx, dword [ebx]
mov dword [ecx + 0x364], eax
mov byte [esi + edi + 0xe], 1
add edi, 1
add esp, 8
add ebx, 4
cmp edi, 8
jl 0x42da70
jmp 0x42dc5d
cmp eax, 0x12
jge 0x42db6d
mov edx, dword [esi + 0x1bc]
mov eax, 1
mov dword [edx + 0x364], eax
mov ecx, dword [esi + 0x1c0]
mov dword [ecx + 0x364], eax
mov edx, dword [esi + 0x1c4]
mov dword [edx + 0x364], eax
mov ecx, dword [esi + 0x1c8]
mov dword [ecx + 0x364], eax
mov edx, dword [esi + 0x1cc]
mov eax, 2
mov dword [edx + 0x364], eax
mov ecx, dword [esi + 0x1d0]
mov dword [ecx + 0x364], eax
mov edx, dword [esi + 0x1d4]
mov dword [edx + 0x364], eax
mov ecx, dword [esi + 0x1d8]
mov dword [ecx + 0x364], eax
mov eax, 0x1010101
mov edi, 3
push edi
mov dword [esi + 0xe], eax
push 0xe6
mov dword [esi + 0x12], eax
call fcn.00417170
add esp, 8
test eax, eax
jne 0x42db37
mov byte [esi + 0x15], al
mov byte [esi + 0x11], al
push 6
push 0xe7
call fcn.00417170
add esp, 8
xor ebp, ebp
test eax, eax
jne 0x42dc5d
mov edx, dword [esi + 0x1d8]
mov dword [edx + 0x364], edi
mov eax, dword [esi + 0x1c8]
mov dword [eax + 0x364], edi
jmp 0x42dc5d
cmp eax, 0x19
jge 0x42dc06
mov ecx, dword [esi + 0x1bc]
mov edi, 1
mov dword [ecx + 0x364], edi
mov edx, dword [esi + 0x1c0]
mov dword [edx + 0x364], edi
mov ecx, dword [esi + 0x1c4]
mov eax, 2
mov dword [ecx + 0x364], eax
mov edx, dword [esi + 0x1c8]
mov dword [edx + 0x364], eax
mov ecx, dword [esi + 0x1cc]
mov eax, 3
mov dword [ecx + 0x364], eax
mov edx, dword [esi + 0x1d0]
mov dword [edx + 0x364], eax
mov edx, dword [esi + 0x1d4]
mov ecx, 4
mov dword [edx + 0x364], ecx
mov edx, dword [esi + 0x1d8]
push eax
push 0xe8
mov dword [edx + 0x364], ecx
call fcn.00417170
lea eax, [eax + eax + 4]
xor ebp, ebp
add esp, 8
cmp eax, ebp
jle 0x42dc5d
push eax
push edi
jmp 0x42dc51
mov eax, dword [esi + 0x1bc]
xor ebp, ebp
mov dword [eax + 0x364], ebp
mov ecx, dword [esi + 0x1c0]
mov dword [ecx + 0x364], ebp
mov edx, dword [esi + 0x1c4]
mov dword [edx + 0x364], ebp
mov eax, dword [esi + 0x1c8]
push 3
push 0xe9
mov dword [eax + 0x364], ebp
call fcn.00417170
add eax, 2
add esp, 8
cmp eax, ebp
jle 0x42dc5d
push eax
push 1
lea ecx, [esi + 0xe]
push ecx
call fcn.004450a0
add esp, 0xc
mov eax, 0xa
lea ecx, [esi + 0x198]
lea edi, [eax + 0x46]
jmp 0x42dc70
cmp byte [eax + esi - 6], 0
je 0x42dc88
mov edx, dword [ecx - 4]
cmp dword [edx + 0x364], ebp
jne 0x42dc88
mov dword [edx + 0x364], eax
cmp byte [eax + esi - 5], 0
je 0x42dca2
mov edx, dword [ecx]
cmp dword [edx + 0x364], ebp
jne 0x42dca2
lea ebx, [eax + 1]
mov dword [edx + 0x364], ebx
cmp byte [eax + esi - 4], 0
je 0x42dcbd
mov edx, dword [ecx + 4]
cmp dword [edx + 0x364], ebp
jne 0x42dcbd
lea ebx, [eax + 2]
mov dword [edx + 0x364], ebx
cmp byte [eax + esi - 3], 0
je 0x42dcd8
mov edx, dword [ecx + 8]
cmp dword [edx + 0x364], ebp
jne 0x42dcd8
lea ebx, [eax + 3]
mov dword [edx + 0x364], ebx
cmp byte [eax + esi - 2], 0
je 0x42dcf3
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x364], ebp
jne 0x42dcf3
lea ebx, [eax + 4]
mov dword [edx + 0x364], ebx
add ecx, 0x14
add eax, 5
sub edi, 1
jne 0x42dc70
mov dword [0x450c24], ebp
mov dword [0x450c20], ebp
mov dword [0x450c1c], ebp
mov dword [0x450c18], ebp
mov dword [0x450c14], ebp
mov dword [0x450c10], ebp
mov dword [0x450c0c], ebp
mov dword [0x450c08], ebp
mov dword [0x450c04], ebp
mov dword [0x450c28], ebp
mov ecx, dword [esi + 0x7d4]
cmp dword [ecx + 0x4d82384], ebp
jle 0x42dd6d
lea esp, [esp]
mov ecx, dword [esi + 0x7d4]
push edi
call fcn.0040c0e0
mov edx, dword [esi + 0x7d4]
add edi, 1
cmp edi, dword [edx + 0x4d82384]
jl 0x42dd50
mov eax, dword [0x44d024]
cmp eax, 0x63
je 0x42dd83
mov ecx, dword [esi + 0x7d4]
push eax
call fcn.0040c030
push ebp
push 0x226
push 0x31a
push ebp
push ebp
mov dword [0x44d034], 1
mov dword [0x450bbc], ebp
call fcn.00415160
mov esi, dword [esp + 0x28]
mov dword [0x450bdc], ebp
or ebp, 0xffffffff
add esp, 0x14
xor edi, edi
lea ebx, [ebp + 2]
cmp dword [esp + 0x18], edi
je 0x42e0b6
cmp dword [0x44d06c], ebx
jne 0x42debb
push edi
mov ecx, 0x455610
call fcn.00401a30
cmp dword [0x451228], ebx
mov dword [0x451288], edi
mov dword [0x451268], ebx
jne 0x42ddf5
mov dword [0x451248], ebp
cmp dword [0x45122c], ebx
mov dword [0x45128c], edi
mov dword [0x45126c], ebx
jne 0x42de0f
mov dword [0x45124c], ebp
cmp dword [0x451230], ebx
mov dword [0x451290], edi
mov dword [0x451270], ebx
jne 0x42de29
mov dword [0x451250], ebp
cmp dword [0x451234], ebx
mov dword [0x451294], edi
mov dword [0x451274], ebx
jne 0x42de43
mov dword [0x451254], ebp
cmp dword [0x451238], ebx
mov dword [0x451298], edi
mov dword [0x451278], ebx
jne 0x42de5d
mov dword [0x451258], ebp
cmp dword [0x45123c], ebx
mov dword [0x45129c], edi
mov dword [0x45127c], ebx
jne 0x42de77
mov dword [0x45125c], ebp
cmp dword [0x451240], ebx
mov dword [0x4512a0], edi
mov dword [0x451280], ebx
jne 0x42de91
mov dword [0x451260], ebp
cmp dword [0x451244], ebx
mov dword [0x4512a4], edi
mov dword [0x451284], ebx
jne 0x42deab
mov dword [0x451264], ebp
mov dword [0x44d078], 0x96
mov dword [0x4512c8], edi
mov ebp, 3
cmp dword [0x44d06c], ebp
jne 0x42df64
mov eax, dword [esp + 0x1c]
cmp dword [eax], ebx
jne 0x42deff
push edi
mov ecx, 0x455610
call fcn.00401a30
mov eax, dword [0x450b94]
add eax, 0xa
cmp eax, 0x3c
mov dword [0x450b94], eax
jne 0x42def7
mov dword [0x450b94], edi
cmp dword [0x44d06c], ebp
jne 0x42df64
mov ecx, dword [esp + 0x1c]
cmp dword [ecx], ebx
je 0x42e0b6
push edi
mov ecx, 0x455610
call fcn.00401a30
mov eax, dword [0x44d024]
cmp eax, 0x64
mov dword [0x44d028], edi
jne 0x42df32
mov dword [0x44d024], 0x63
jmp 0x42df64
cmp eax, 0x63
jne 0x42df3f
mov dword [0x44d024], edi
jmp 0x42df64
add eax, ebx
mov dword [0x44d024], eax
mov edx, dword [esi + 0x7d4]
cmp eax, dword [edx + 0x4d82384]
jne 0x42df64
mov dword [0x44d024], 0x64
mov dword [0x44d028], ebx
cmp dword [0x44d06c], 2
jne 0x42e0b6
push edi
mov ecx, 0x455610
call fcn.00401a30
lea eax, [esi + 0x194]
xor ebp, ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ebp
lea esp, [esp]
cmp dword [ebp + 0x451228], edi
je 0x42e0a1
mov ecx, dword [esi + 0x7d4]
cmp dword [ecx + 0x4d82380], ebx
mov eax, ebx
jle 0x42e067
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0x7d4]
mov ebx, dword [edx + 0x4d82380]
mov ebp, dword [0x451248]
lea esi, [ecx + 4]
lea esp, [esp]
xor ecx, ecx
cmp ebp, eax
jne 0x42dfdb
mov ecx, 1
cmp dword [0x45124c], eax
jne 0x42dfe8
mov ecx, 1
cmp dword [0x451250], eax
jne 0x42dff5
mov ecx, 1
cmp dword [0x451254], eax
jne 0x42e002
mov ecx, 1
cmp dword [0x451258], eax
jne 0x42e00f
mov ecx, 1
cmp dword [0x45125c], eax
jne 0x42e01c
mov ecx, 1
cmp dword [0x451260], eax
jne 0x42e029
mov ecx, 1
cmp dword [0x451264], eax
jne 0x42e036
mov ecx, 1
mov edx, dword [esi]
cmp dword [edx + 0x6f8], 0
jne 0x42e055
test ecx, ecx
jne 0x42e055
cmp dword [edx + 0x6f4], 0x1e
jge 0x42e055
mov dword [esp + edi*4 + 0x44], eax
add edi, 1
add eax, 1
add esi, 4
cmp eax, ebx
jl 0x42dfd0
mov ebp, dword [esp + 0x34]
push edi
push 0xea
call fcn.00417170
mov eax, dword [esp + eax*4 + 0x4c]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov dword [ebp + 0x451248], eax
mov edx, dword [ecx + 0x7d4]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov edx, dword [edx + eax*4]
add esp, 8
xor edi, edi
mov dword [ecx + 0x368], edx
lea ebx, [edi + 1]
add dword [esp + 0x20], 4
add ebp, 4
cmp ebp, 0x20
mov dword [esp + 0x34], ebp
jl 0x42df90
cmp dword [0x44d078], 0
jg 0x42e0d2
cmp dword [0x4512c8], 0
jne 0x42e0d2
mov dword [0x4512c8], 1
mov ecx, dword [esp + 0xa98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa80]
xor ecx, esp
call fcn.004450b2
add esp, 0xa90
ret 0xc
cmp eax, 5
je 0x42bf72
cmp eax, 8
je 0x42bf72
jmp 0x4466fc
cmp eax, 5
je 0x42a6bf
cmp eax, 8
je 0x42a6bf
jmp 0x44670c
cmp eax, 5
je 0x42a78d
cmp eax, 8
je 0x42a78d
jmp 0x44671b
cmp eax, 9
je 0x42bf72
jmp 0x42bf6d
cmp eax, 9
je 0x42a6bf
jmp 0x42a6ba
cmp eax, 9
je 0x42a78d
jmp 0x42a788
cmp eax, 5
je 0x42c004
cmp eax, 8
je 0x42c004
cmp eax, 9
je 0x42c004
jmp 0x42bfff