Function at 0x4220e0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x56ef08
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x5ca730]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x24], ebx
call 0x1b94244b
mov eax, dword [ebx]
mov edx, dword [eax + 0x18c]
mov ecx, ebx
call edx
push 1
mov ecx, ebx
mov byte [ebx + 0xe8], 1
call 0x9c572567
call 0x5681246c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42214d
push 0x80004005
call 0xece92181
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x80], 0
cmp dword [ebx + 0x10c], 0x1c
jge 0x42219b
mov ecx, 1
cmp ecx, dword [ebx + 0x118]
sbb esi, esi
neg esi
add esi, 0xb4
push esi
call 0xf02324c0
test eax, eax
je 0x42219b
push esi
push eax
lea ecx, [esp + 0x28]
call 0x1c8622cf
mov eax, dword [ebx + 0x10c]
mov byte [esp + 0x17], 1
cmp eax, 0x1a
ja case.0x4221b6.3
movzx edx, byte [eax + 0x424a68]
jmp dword [edx*4 + 0x424a20]
cmp dword [ebx + 0x108], 0
mov byte [esp + 0x17], 0
je 0x4221f0
mov eax, ebx
call 0x3c4b2406
test al, al
jne 0x4221f0
mov eax, ebx
call 0x8c4b2411
test al, al
jne 0x4221f0
mov eax, ebx
call 0x5c4b241c
test al, al
je case.0x4221b6.3
push 0
push 0
push 0xff
push 0
push ebx
mov eax, 2
call 0xbc83243a
push 0
push 0
push 0x1ff
push 0
push ebx
mov eax, 3
call 0xbc832450
push 0
push 0
push 0xc
push 1
push ebx
mov eax, 4
call 0xbc832463
mov eax, ebx
call 0xbc93236a
push 0
push 1
push 5
push 4
push ebx
call 0xbc882478
push 0
push 1
push 6
push 0xd
push ebx
call 0xbc882486
push 0
push 0
push 0x64
push 0
push ebx
mov eax, 7
call 0xbc832499
mov eax, ebx
call 0xbc9323a0
lea eax, [esp + 0x28]
push eax
mov edi, 0xb6
call 0xdc8a23af
mov byte [esp + 0x80], 1
mov esi, dword [ebx + 0x100]
mov edi, dword [eax]
call 0x4ca522c4
mov esi, dword [esi + 0x28]
test esi, esi
je 0x42229c
mov esi, dword [esi + 8]
jmp 0x42229e
xor esi, esi
push edi
push esi
push 0
push ebx
call 0x2c8524dc
lea ecx, [esp + 0x28]
mov byte [esp + 0x80], 0
call 0x7ce722ed
mov eax, ebx
call 0xbc9323f4
lea ecx, [esp + 0x2c]
push ecx
mov edi, 0xb7
call 0xdc8a2403
mov byte [esp + 0x80], 2
mov esi, dword [ebx + 0x100]
mov edi, dword [eax]
call 0x4ca52318
mov esi, dword [esi + 0x2c]
test esi, esi
je 0x4222f0
mov esi, dword [esi + 8]
jmp 0x4222f2
xor esi, esi
push edi
push esi
push 1
push ebx
call 0x2c852530
lea ecx, [esp + 0x2c]
mov byte [esp + 0x80], 0
call 0x7ce72341
jmp 0xf6782546
cmp dword [ebx + 0x108], 0
je 0x422340
mov eax, ebx
call 0x3c4b2556
test al, al
jne 0x422340
mov eax, ebx
call 0x8c4b2561
test al, al
jne 0x422340
mov eax, ebx
call 0x5c4b256c
test al, al
je case.0x4221b6.3
mov eax, dword [ebx + 0x11c]
test eax, eax
jne 0x422841
push 3
push ebx
call 0x6c82258a
mov eax, ebx
call 0xbc932491
push 0
push 0
push 0x3f
push 0
push ebx
mov eax, 4
call 0xbc8325a4
push 0
push 1
push 5
push 0x20
push ebx
call 0xbc8825b2
push 0
push 0
push 0x270f
push 0
push ebx
mov eax, 6
call 0xbc8325c8
mov eax, ebx
call 0xbc9324cf
push 0
push 1
push 0xa
push 0x28
push ebx
call 0xbc8825dd
push 0
push 1
push 0xb
push 0x28
push ebx
call 0xbc8825eb
push 0
push 1
push 0xc
push 0x28
push ebx
call 0xbc8825f9
mov eax, ebx
call 0xbc932500
push 0
push 1
push 0xd
push 0x28
push ebx
call 0xbc88260e
push 0
push 0
push 0x7f
push 0
push ebx
mov eax, 0xe
call 0xbc832621
push 0xf
push ebx
xor eax, eax
call 0x6c82262b
push 0x10
push ebx
xor eax, eax
call 0x6c822635
mov eax, ebx
call 0xbc93253c
mov esi, dword [ebx + 0x100]
call 0x4ca52447
mov edi, dword [esi + 0xb8]
xor esi, esi
jmp 0x422420
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 0
push esi
mov ecx, edi
call eax
push eax
push 0
push 5
push 0
lea eax, [esi + 0x12c]
push ebx
call 0xbc832673
push 0x5a1780
push 0
push 5
push 0
push ebx
lea eax, [esi + 0x190]
call 0xbc83268a
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, esi
sub edx, ecx
cmp edx, 2
jne 0x422472
mov eax, ebx
call 0xbc9325a6
inc esi
cmp esi, 9
jb 0x422420
mov esi, 0x135
lea ecx, [ecx]
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 0
lea ecx, [esi - 0x12c]
push ecx
mov ecx, edi
call edx
push eax
push 0
push 5
push 0
push ebx
mov eax, esi
call 0xbc8326d5
push 0x5a1780
push 0
push 5
push 0
lea eax, [esi + 0x64]
push ebx
call 0xbc8326e9
lea eax, [esi - 1]
and eax, 3
cmp al, 3
jne 0x4224c6
mov eax, ebx
call 0xbc9325fa
inc esi
lea ecx, [esi - 0x135]
cmp ecx, 8
jb 0x422480
mov esi, 0x13d
mov dword [esp + 0x1c], 5
nop
mov edx, dword [edi]
mov edx, dword [edx + 4]
push 0
lea eax, [esi - 0x12c]
push eax
mov ecx, edi
call edx
push eax
push 0
push 0xff
push 0
push ebx
mov eax, esi
call 0xbc832738
push 0x5a1780
push 0
push 0xff
push 0
lea eax, [esi + 0x64]
push ebx
call 0xbc83274f
inc esi
dec dword [esp + 0x1c]
jne 0x4224e0
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xc4]
add dword [ebx + 0xac], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x42255a
mov dword [ebx + 0xc8], eax
mov ecx, dword [ebx + 0xac]
xor esi, esi
push esi
push 1
push 0x11
push 0xd
push ebx
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xb4], ecx
mov dword [ebx + 0xc0], esi
call 0xbc8827b5
push esi
push 1
push 0x12
push 0x10
push ebx
call 0xbc8827c2
push esi
push esi
push 0x3f
push esi
push ebx
lea eax, [esi + 0x13]
call 0xbc8327d0
mov edx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add edx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], edx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x4225d4
mov dword [ebx + 0xc8], eax
mov eax, dword [ebx + 0xac]
push 0x14
mov dword [ebx + 0xb4], eax
push ebx
xor eax, eax
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xc0], esi
call 0x6c82282a
push esi
push esi
push 0x3f
push esi
push ebx
mov eax, 0x15
call 0xbc83283a
push esi
push esi
push 0x3f
push esi
push ebx
mov eax, 0x16
call 0xbc83284a
mov ecx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add ecx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], ecx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x42264e
mov dword [ebx + 0xc8], eax
mov edx, dword [ebx + 0xac]
push esi
push 1
push 2
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xc0], esi
mov eax, dword [ebx + 0xf0]
push 4
push ebx
mov dword [ebx + 0xf8], eax
call 0xbc8828b3
mov ecx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add ecx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], ecx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x4226b7
mov dword [ebx + 0xc8], eax
mov edx, dword [ebx + 0xac]
xor eax, eax
push 0x12
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xc0], eax
call dword [0x5727bc]
mov eax, dword [ebx + 0xf0]
lea ecx, [esp + 0x30]
push ecx
mov edi, 0xb1
mov dword [ebx + 0xf8], eax
call 0xdc8a2828
mov esi, dword [esp + 0x24]
mov byte [esp + 0x80], 3
mov ecx, dword [eax]
mov eax, dword [ebx + 0x13c]
mov edx, eax
shl edx, 4
sub edx, eax
lea edi, [ebx + edx*8]
add eax, 0x4600
push eax
lea ebx, [edi + 0x144]
call 0xc8e2857
mov eax, dword [esi + 0xf8]
mov dword [edi + 0x1b8], eax
inc dword [esi + 0x13c]
xor ebx, ebx
mov byte [esp + 0x80], bl
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42275e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x108], ebx
jne 0x4227f0
mov ecx, dword [esi + 0xd0]
mov eax, dword [esi + 0xa0]
add ecx, dword [esi + 0xc4]
mov dword [esi + 0xa8], eax
add dword [esi + 0xac], ecx
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xac]
cmp eax, dword [esi + 0xc8]
jl 0x4227a2
mov dword [esi + 0xc8], eax
mov edx, eax
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], edx
mov eax, dword [esi + 0x13c]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edi, [esi + ecx*8]
add eax, 0x4600
push eax
lea ebx, [edi + 0x144]
mov ecx, 0x5a1784
call 0xc8e2910
mov eax, dword [esi + 0xf8]
mov dword [edi + 0x1b8], eax
inc dword [esi + 0x13c]
xor ebx, ebx
mov edx, dword [esi + 0xd0]
mov eax, dword [esi + 0xa0]
add edx, dword [esi + 0xc4]
mov dword [esi + 0xa8], eax
add dword [esi + 0xac], edx
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xac]
cmp eax, dword [esi + 0xc8]
jl 0x422828
mov dword [esi + 0xc8], eax
mov dword [esi + 0xc4], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xb4], eax
mov ebx, esi
jmp 0xfd782a75
cmp eax, 1
jne case.0x4221b6.3
lea ecx, [esp + 0x34]
xor esi, esi
push ecx
mov edi, 0xbe
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
call 0xdc8a2997
mov byte [esp + 0x80], 4
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xbc812aa9
lea ecx, [esp + 0x34]
mov byte [esp + 0x80], 0
call 0x7ce728ba
lea edx, [esp + 0x38]
push edx
mov edi, 0xbf
call 0xdc8a29c9
mov byte [esp + 0x80], 5
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xc822adb
lea ecx, [esp + 0x38]
mov byte [esp + 0x80], 0
call 0x7ce728ec
lea eax, [esp + 0x3c]
push eax
mov edi, 0xc0
call 0xdc8a29fb
mov byte [esp + 0x80], 6
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xc822b0d
lea ecx, [esp + 0x3c]
mov byte [esp + 0x80], 0
call 0x7ce7291e
mov eax, ebx
call 0xbc932a25
xor edi, edi
jmp 0x422900
mov ecx, dword [ebx + 0x100]
inc dword [esp + 0x18]
lea eax, [esp + 0x1c]
mov edx, edi
call 0x4ca12949
mov ecx, dword [esp + 0x1c]
push ecx
push 1
push 0x64
push esi
lea eax, [edi + 0x64]
push ebx
call 0xbc832b5c
test byte [esp + 0x18], 7
mov dword [esp + 0x1c], esi
jne 0x42293a
mov eax, ebx
call 0xbc932a6e
inc edi
cmp edi, 0x28
jb 0x422900
lea edx, [esp + 0x40]
push edx
mov edi, 0xc1
mov dword [esp + 0x1c], esi
call 0xdc8a2a87
mov byte [esp + 0x80], 7
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xbc812b99
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], 0
call 0x7ce729aa
lea eax, [esp + 0x44]
push eax
mov edi, 0xc2
call 0xdc8a2ab9
mov byte [esp + 0x80], 8
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xc822bcb
lea ecx, [esp + 0x44]
mov byte [esp + 0x80], 0
call 0x7ce729dc
lea ecx, [esp + 0x48]
push ecx
mov edi, 0xc3
call 0xdc8a2aeb
mov byte [esp + 0x80], 9
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xc822bfd
lea ecx, [esp + 0x48]
mov byte [esp + 0x80], 0
call 0x7ce72a0e
mov eax, ebx
call 0xbc932b15
xor edi, edi
jmp 0x4229f0
mov ecx, dword [ebx + 0x100]
inc dword [esp + 0x18]
lea eax, [esp + 0x1c]
mov edx, edi
call 0x4ca12a39
mov edx, dword [esp + 0x1c]
push edx
push esi
push 0xff
push esi
lea eax, [edi + 0x8c]
push ebx
call 0xbc832c51
test byte [esp + 0x18], 7
mov dword [esp + 0x1c], esi
jne 0x422a2f
mov eax, ebx
call 0xbc932b63
inc edi
cmp edi, 0x28
jb 0x4229f0
lea eax, [esp + 0x4c]
push eax
mov edi, 0xc4
mov dword [esp + 0x1c], esi
call 0xdc8a2b7c
mov byte [esp + 0x80], 0xa
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xbc812c8e
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x422a82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x50]
push ecx
mov edi, 0xc5
call 0xdc8a2bc5
mov byte [esp + 0x80], 0xb
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xc822cd7
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422acb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
push ecx
mov edi, 0xc6
call 0xdc8a2c0e
mov byte [esp + 0x80], 0xc
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xc822d20
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x422b14
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, ebx
call 0xbc932c4f
xor edi, edi
xor esi, esi
inc dword [esp + 0x18]
mov ecx, dword [ebx + 0x100]
cmp edi, 0x27
ja 0x422b6f
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + esi + 0x18b4]
shl eax, 0xd
sar eax, 0x14
cmp eax, 0x5db
ja 0x422b5b
mov ecx, dword [ecx + 0x24]
cmp eax, 0x5dc
jae 0x422b6f
lea edx, [eax + eax*8]
lea eax, [ecx + edx*2 + 0x69de]
jmp 0x422b74
push ecx
lea ebx, [esp + 0x20]
call 0x2ceb2b99
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x422b74
mov eax, 0x59e12c
push eax
push 0
push 0xff
push 0
lea eax, [edi + 0xb4]
push ebx
call 0xbc832dbe
test byte [esp + 0x18], 7
mov dword [esp + 0x1c], 0
jne 0x422ba0
mov eax, ebx
call 0xbc932cd4
add esi, 0x320
inc edi
cmp esi, 0x7d00
jb 0x422b1f
push 0x10
call 0xc16e2eee
xor esi, esi
add esp, 4
cmp eax, esi
je 0x422be2
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 0x42e4]
mov dword [eax], vtable.ButtonOp_TextBox_class_CGameEditTextBox_.0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], 0x64
jmp 0x422be4
xor eax, eax
mov ecx, dword [ebx + 0x488]
mov dword [ebx + 0x488], eax
cmp ecx, esi
je 0x422bfc
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebx + 0x120], esi
je 0x422c10
push esi
lea ecx, [ebx + 0x414]
call 0x38072f44
push 0x10
call 0xc16e2f4b
add esp, 4
cmp eax, esi
je 0x422c39
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 0x42e4]
mov dword [eax], vtable.ButtonOp_TextBox_class_CGameEditTextBox_.0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
jmp 0x422c3b
xor eax, eax
mov ecx, dword [ebx + 0x500]
mov dword [ebx + 0x500], eax
cmp ecx, esi
je 0x422c53
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebx + 0x120], esi
je 0x422c67
push esi
lea ecx, [ebx + 0x48c]
call 0x38072f9b
push 0x10
call 0xc16e2fa2
add esp, 4
cmp eax, esi
je 0x422c9d
mov ecx, dword [esp + 0x18]
mov edx, ecx
imul edx, edx, 0xac
lea edx, [edx + ebx + 0x42e4]
mov dword [eax], vtable.ButtonOp_TextBox_class_CGameEditTextBox_.0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0xff
jmp 0x422c9f
xor eax, eax
mov ecx, dword [ebx + 0x578]
mov dword [ebx + 0x578], eax
cmp ecx, esi
je 0x422cb7
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebx + 0x120], esi
je 0x422ccb
push esi
lea ecx, [ebx + 0x504]
call 0x38072fff
push 0x10
call 0xc16e3006
add esp, 4
cmp eax, esi
je 0x422cfd
mov ecx, dword [esp + 0x18]
mov edx, ecx
imul edx, edx, 0xac
lea edx, [edx + ebx + 0x42e4]
mov dword [eax], vtable.ButtonOp_TextBox_class_CGameEditTextBox_.0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
jmp 0x422cff
xor eax, eax
mov ecx, dword [ebx + 0x5f0]
mov dword [ebx + 0x5f0], eax
cmp ecx, esi
je 0x422d17
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebx + 0x120], esi
je 0x422d2b
push esi
lea ecx, [ebx + 0x57c]
call 0x3807305f
push 0x10
call 0xc16e3066
add esp, 4
cmp eax, esi
je 0x422d61
mov ecx, dword [esp + 0x18]
mov edx, ecx
imul edx, edx, 0x158
lea edx, [edx + ebx + 0x42e4]
mov dword [eax], vtable.ButtonOp_TextBox_class_CGameEditTextBox_.0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0xff
jmp 0x422d63
xor eax, eax
mov ecx, dword [ebx + 0x668]
mov dword [ebx + 0x668], eax
cmp ecx, esi
je 0x422d7b
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebx + 0x120], esi
je 0x422d8f
push esi
lea ecx, [ebx + 0x5f4]
call 0x380730c3
push 0x10
call 0xc16e30ca
add esp, 4
cmp eax, esi
je 0x422dc1
mov ecx, dword [esp + 0x18]
mov edx, ecx
imul edx, edx, 0x158
lea edx, [edx + ebx + 0x42e4]
mov dword [eax], vtable.ButtonOp_TextBox_class_CGameEditTextBox_.0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
jmp 0x422dc3
xor eax, eax
mov ecx, dword [ebx + 0x6e0]
mov dword [ebx + 0x6e0], eax
cmp ecx, esi
je 0x422ddb
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebx + 0x120], esi
je case.0x4221b6.3
push 0
lea ecx, [ebx + 0x66c]
call 0x38073128
jmp 0xfd78302d
cmp dword [ebx + 0x108], 0
je 0x422e27
mov eax, ebx
call 0x3c4b303d
test al, al
jne 0x422e27
mov eax, ebx
call 0x8c4b3048
test al, al
jne 0x422e27
mov eax, ebx
call 0x5c4b3053
test al, al
je case.0x4221b6.3
mov eax, dword [ebx + 0x11c]
test eax, eax
jne 0x422f06
mov eax, dword [ebx + 0xf0]
push 0
push 1
push 3
push 4
push ebx
mov dword [ebx + 0xf8], eax
call 0xbc883083
push 0
push 1
push 2
push 0xd
push ebx
call 0xbc883091
mov eax, ebx
call 0xbc932f98
push 0x12
call dword [0x5727bc]
push 0
push 0
push 0x7fffffff
push 0
mov dword [ebx + 0xf8], eax
push ebx
mov eax, 4
call 0xbc8330bc
push 0
push 0
push 0x7fffffff
push 0
push ebx
mov eax, 5
call 0xbc8330d2
mov eax, ebx
call 0xbc932fd9
mov ecx, dword [ebx + 0xf0]
lea edx, [esp + 0x58]
push edx
mov edi, 0xb1
mov dword [ebx + 0xf8], ecx
call 0xdc8a2ff4
mov byte [esp + 0x80], 0xd
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xbc813106
lea ecx, [esp + 0x58]
mov byte [esp + 0x80], 0
call 0x7ce72f17
cmp dword [ebx + 0x108], 0
jne 0x4246fa
mov eax, ebx
call 0xbc93302b
push 0x5a1784
call 0xbc813135
jmp 0xf678313a
cmp eax, 1
jne case.0x4221b6.3
push 0
push 0
push 6
push 0x51
push ebx
call 0xbc883151
push 0
push 1
push 7
push 0x10
push ebx
call 0xbc88315f
mov eax, ebx
call 0xbc933066
push 0
push 0
push 8
push 0x52
push ebx
call 0xbc883174
push 0
push 1
push 9
push 0x10
push ebx
call 0xbc883182
mov eax, ebx
call 0xbc933089
xor esi, esi
lea eax, [esi + 0xa]
push eax
push ebx
xor eax, eax
call 0x6c823197
mov ecx, esi
and ecx, 3
cmp cl, 3
jne 0x422f74
mov eax, ebx
call 0xbc9330a8
inc esi
cmp esi, 8
jb 0x422f57
jmp 0xfd7831b3
cmp dword [ebx + 0x108], 0
je 0x422fad
mov eax, ebx
call 0x3c4b31c3
test al, al
jne 0x422fad
mov eax, ebx
call 0x8c4b31ce
test al, al
jne 0x422fad
mov eax, ebx
call 0x5c4b31d9
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca52fec
mov esi, dword [esi + 0x68]
test esi, esi
je 0x422fc4
mov eax, dword [esi + 8]
jmp 0x422fc6
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c853205
push 0
push 0
push 3
push 0x16
push ebx
call 0xbc883213
push 0
push 0
push 5
push 0x15
push ebx
call 0xbc883221
mov eax, ebx
call 0xbc933128
push 4
push ebx
xor eax, eax
call 0x6c823232
push 0
push 0
push 6
push 0x12
push ebx
call 0xbc883240
push 0
push 0
push 0xc
push 0
push ebx
mov eax, 7
call 0xbc833253
mov eax, ebx
call 0xbc93315a
push 0
push 0
push 0xfffff
push 0
push ebx
mov eax, 0xa
call 0xbc833270
push 0
push 0
push 0xfffff
push 0
push ebx
mov eax, 0xb
call 0xbc833286
push 0
push 0
push 0x3ff
push 0
push ebx
mov eax, 0xc
call 0xbc83329c
push 0
push 0
push 0x3ff
push 0
push ebx
mov eax, 0xd
call 0xbc8332b2
mov eax, ebx
call 0xbc9331b9
xor esi, esi
push 0
push 1
push 0x7fffffff
push 0
lea eax, [esi + 0xe]
push ebx
call 0xbc8332cf
inc esi
cmp esi, 3
jb 0x423087
push 0
push 1
push 0xfff
push 0
push ebx
mov eax, 0x11
call 0xbc8332eb
mov eax, ebx
call 0xbc9331f2
push 0
push 0
push 0x7f
push 0
push ebx
mov eax, 0x12
call 0xbc833305
push 0x13
push ebx
xor eax, eax
call 0x6c82330f
push 0x14
push ebx
xor eax, eax
call 0x6c823319
push 0
push 0
push 0x7fff
push 0
push ebx
mov eax, 0x15
call 0xbc83332f
mov eax, ebx
call 0xbc933236
mov edx, dword [ebx + 0xf0]
push 0
push 1
push 8
push 0xf
push ebx
mov dword [ebx + 0xf8], edx
call 0xbc883350
push 0
push 1
push 9
push 4
push ebx
call 0xbc88335e
mov eax, ebx
call 0xbc933265
push 0x12
call dword [0x5727bc]
cmp dword [ebx + 0x108], 0
mov dword [ebx + 0xf8], eax
jne case.0x4221b6.3
mov eax, dword [ebx + 0xf0]
mov dword [ebx + 0xf8], eax
push 0x5a1784
mov eax, ebx
call 0xbc813398
jmp 0xf678339d
mov esi, dword [ebx + 0x108]
test esi, esi
je 0x42319d
mov eax, ebx
call 0x3c4b33ae
test al, al
jne 0x42319d
mov eax, ebx
call 0x8c4b33b9
test al, al
jne 0x42319d
mov eax, ebx
call 0x5c4b33c4
test al, al
jne 0x42319d
cmp esi, 2
jne case.0x4221b6.3
mov eax, dword [ebx + 0x11c]
test eax, eax
jne 0x42352f
mov esi, dword [ebx + 0x100]
call 0x4ca531ea
mov esi, dword [esi + 0x40]
test esi, esi
je 0x4231c2
mov eax, dword [esi + 8]
jmp 0x4231c4
xor eax, eax
push 0
push eax
push 2
push ebx
call 0x2c853403
mov esi, dword [ebx + 0x100]
call 0x4ca5320e
mov esi, dword [esi + 0x44]
test esi, esi
je 0x4231e6
mov esi, dword [esi + 8]
jmp 0x4231e8
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c853427
mov esi, dword [ebx + 0x100]
call 0x4ca53232
mov esi, dword [esi + 0x4c]
test esi, esi
je 0x42320a
mov esi, dword [esi + 8]
jmp 0x42320c
xor esi, esi
push 0
push esi
push 5
push ebx
call 0x2c85344b
mov eax, ebx
call 0xbc933352
mov esi, dword [ebx + 0x100]
call 0x4ca5325d
mov esi, dword [esi + 0x48]
test esi, esi
je 0x423235
mov esi, dword [esi + 8]
jmp 0x423237
xor esi, esi
push 0
push esi
push 4
push ebx
call 0x2c853476
mov esi, dword [ebx + 0x100]
call 0x4ca53281
mov esi, dword [esi + 0x50]
test esi, esi
je 0x423259
mov esi, dword [esi + 8]
jmp 0x42325b
xor esi, esi
push 0
push esi
push 6
push ebx
call 0x2c85349a
mov eax, ebx
call 0xbc9333a1
push 0
push 0
push 7
push 0x36
push ebx
call 0xbc8834af
push 0
push 0
push 0x7ff
push 0
push ebx
mov eax, 8
call 0xbc8334c5
mov eax, ebx
call 0xbc9333cc
push 0
push 0
push 0x1ff
push 0
push ebx
mov eax, 9
call 0xbc8334e2
push 0
push 0
push 0x1ff
push 0
push ebx
mov eax, 0xa
call 0xbc8334f8
push 0
push 0
push 0x1ff
push 0
push ebx
mov eax, 0xb
call 0xbc83350e
push 0
push 0
push 0xc
push 0x3a
push ebx
call 0xbc88351c
mov eax, ebx
call 0xbc933423
mov esi, 0x48
lea edi, [esi - 0x44]
push 0
push 0
push 0x7f
push 0
lea eax, [esi - 0x3b]
push ebx
call 0xbc83353c
push 0x5a17bc
push 0
push 0x7f
push 0
push ebx
mov eax, esi
call 0xbc83354f
inc esi
dec edi
jne 0x4232f7
mov eax, ebx
call 0xbc93345a
push edi
push edi
push 0x11
push 0x1c
push ebx
call 0xbc883566
push edi
push edi
push 0x12
push 0x26
push ebx
call 0xbc883572
mov eax, ebx
call 0xbc933479
xor esi, esi
lea ecx, [esi + 0x13]
push ecx
push ebx
xor eax, eax
call 0x6c823587
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, esi
sub eax, edx
cmp eax, 4
jne 0x423370
mov eax, ebx
call 0xbc9334a4
inc esi
cmp esi, 0x14
jb 0x423347
push 0
push 0
push 0xff
push 0
push ebx
mov eax, 0x3e
call 0xbc8335c0
push 0
push 0
push 0x7fff
push 0
push ebx
mov eax, 0x3f
call 0xbc8335d6
push 0
push 0
push 0x1ff
push 0
push ebx
mov eax, 0x40
call 0xbc8335ec
push 0
push 1
push 0x28
push 0x1e
push ebx
call 0xbc8835fa
mov eax, ebx
call 0xbc933501
push 0x44
push ebx
xor eax, eax
call 0x6c82360b
push 0
push 1
push 0x45
push 0xd
push ebx
call 0xbc883619
push 0
push 0
push 0x46
push 0x3b
push ebx
call 0xbc883627
mov eax, ebx
call 0xbc93352e
mov ecx, dword [ebx + 0xf0]
push 0
push 0
push 0x29
push 0x37
push ebx
mov dword [ebx + 0xf8], ecx
call 0xbc883648
push 0
push 1
push 0x41
push 0xf
push ebx
call 0xbc883656
push 0
push 1
push 0x42
push 0x11
push ebx
call 0xbc883664
push 0
push 1
push 0x1df
push 0
push ebx
mov eax, 0x43
call 0xbc83367a
mov eax, ebx
call 0xbc933581
push 0x12
call dword [0x5727bc]
mov edx, dword [ebx + 0xf0]
mov dword [ebx + 0xf8], edx
lea eax, [esp + 0x5c]
push eax
mov edi, 0xb1
call 0xdc8a35a4
mov esi, dword [esp + 0x24]
mov byte [esp + 0x80], 0xe
mov ecx, dword [eax]
mov eax, dword [ebx + 0x13c]
mov edx, eax
shl edx, 4
sub edx, eax
lea edi, [ebx + edx*8]
add eax, 0x4600
push eax
lea ebx, [edi + 0x144]
call 0xc8e35d3
mov eax, dword [esi + 0xf8]
mov dword [edi + 0x1b8], eax
inc dword [esi + 0x13c]
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4234d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x108], 0
jne 0x423521
mov eax, esi
call 0xbc93361d
mov eax, dword [esi + 0x13c]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edi, [esi + ecx*8]
add eax, 0x4600
push eax
lea ebx, [edi + 0x144]
mov ecx, 0x5a1784
call 0xc8e3643
mov eax, dword [esi + 0xf8]
mov dword [edi + 0x1b8], eax
inc dword [esi + 0x13c]
mov eax, esi
call 0xbc93365c
mov ebx, eax
jmp 0xfd783763
cmp eax, 1
jne 0x423598
push 0
push 0
push 0xff
push 0
push ebx
mov eax, 0x2a
call 0xbc83377e
push 0
push 0
push 3
push 0
push ebx
mov eax, 0x27
call 0xbc833791
push 0
push 0
push 7
push 0
push ebx
mov eax, 0x3d
call 0xbc8337a4
mov eax, ebx
call 0xbc9336ab
push 0
push 0
push 0x3c
push 0x40
push ebx
call 0xbc8837b9
push 0
push 0
push 0x47
push 0x3f
push ebx
call 0xbc8837c7
jmp 0xf67837cc
cmp eax, 2
jne 0x42360b
push 0
push 0
push 0x5db
push 0
push ebx
mov eax, 0x2b
call 0xbc8337e7
mov eax, ebx
call 0xbc9336ee
push 0
push 1
push 0x2c
push 4
push ebx
call 0xbc8837fc
push 0
push 1
push 0x2d
push 4
push ebx
call 0xbc88380a
push 0
push 1
push 0x31
push 4
push ebx
call 0xbc883818
mov eax, ebx
call 0xbc93371f
xor esi, esi
lea ecx, [ecx]
push 0
push 1
lea edx, [esi + 0x2e]
push edx
push 4
push ebx
call 0xbc883834
inc esi
cmp esi, 3
jb 0x4235f0
jmp 0xf678383f
cmp eax, 3
jne 0x423649
xor esi, esi
push 0
push 1
lea eax, [esi + 0x32]
push eax
push 4
push ebx
call 0xbc883856
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, esi
sub edx, ecx
cmp edx, 2
jne 0x42363e
mov eax, ebx
call 0xbc933772
inc esi
cmp esi, 5
jb 0x423612
jmp 0xf678387d
cmp eax, 4
jne 0x423687
xor esi, esi
push 0
push 1
lea eax, [esi + 0x37]
push eax
push 4
push ebx
call 0xbc883894
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, esi
sub edx, ecx
cmp edx, 2
jne 0x42367c
mov eax, ebx
call 0xbc9337b0
inc esi
cmp esi, 5
jb 0x423650
jmp 0xf67838bb
cmp eax, 5
jne 0x4236d2
cmp esi, 2
jne case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca536d4
mov esi, dword [esi + 0x54]
test esi, esi
je 0x4236bd
mov esi, dword [esi + 8]
push 0x5a17c0
push esi
push 0x64
push ebx
call 0x2c8538ec
jmp 0xf67838f1
push 0x5a17c0
xor esi, esi
push esi
push 0x64
push ebx
call 0x2c853901
jmp 0xf6783906
cmp eax, 7
jne case.0x4221b6.3
push 0xdd
lea ecx, [esp + 0x24]
mov byte [esp + 0x1b], 0
call 0x5c873822
mov esi, dword [ebx + 0x100]
call 0x4ca5372d
mov edi, dword [esi + 0x194]
xor esi, esi
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 0
push esi
mov ecx, edi
call edx
push 0xffffffffffffffff
push ebx
call 0x6c823949
mov eax, dword [ebx + 0x138]
lea eax, [eax + eax*8]
push 0
add eax, eax
mov ecx, dword [ebx + eax*8 + 0xb870]
push 1
lea eax, [ebx + eax*8 + 0xb850]
push 0xf1
push ecx
call dword [0x57273c]
mov eax, ebx
call 0xbc933879
inc esi
cmp esi, 5
jb 0x423701
jmp 0xfd783984
mov esi, dword [ebx + 0x108]
test esi, esi
je 0x42377f
mov eax, ebx
call 0x3c4b3995
test al, al
jne 0x42377f
mov eax, ebx
call 0x8c4b39a0
test al, al
jne 0x42377f
mov eax, ebx
call 0x5c4b39ab
test al, al
je case.0x4221b6.3
mov eax, dword [ebx + 0x11c]
test eax, eax
jne 0x423890
mov esi, dword [ebx + 0x100]
call 0x4ca537cc
mov esi, dword [esi + 0x74]
test esi, esi
je 0x4237a4
mov eax, dword [esi + 8]
jmp 0x4237a6
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c8539e5
mov esi, dword [ebx + 0x100]
call 0x4ca537f0
mov esi, dword [esi + 0x78]
test esi, esi
je 0x4237c8
mov esi, dword [esi + 8]
jmp 0x4237ca
xor esi, esi
push 0
push esi
push 2
push ebx
call 0x2c853a09
mov eax, ebx
call 0xbc933910
push 0
push 0
push 0xb
push 0x55
push ebx
call 0xbc883a1e
push 0
push 0
push 0x7f
push 0
push ebx
mov eax, 7
call 0xbc833a31
push 0
push 0
push 0x1ff
push 0
push ebx
mov eax, 0xc
call 0xbc833a47
mov eax, ebx
call 0xbc93394e
push 0
push 1
push 3
push 0x53
push ebx
call 0xbc883a5c
push 0
push 1
push 4
push 0x54
push ebx
call 0xbc883a6a
push 0
push 1
push 0x400
push 0
push ebx
mov eax, 5
call 0xbc833a80
push 0
push 1
push 6
push 0x22
push ebx
call 0xbc883a8e
mov eax, ebx
call 0xbc933995
push 0
push 1
push 8
push 0xd
push ebx
call 0xbc883aa3
push 0
push 1
push 9
push 4
push ebx
call 0xbc883ab1
push 0
push 1
push 0xa
push 0x10
push ebx
call 0xbc883abf
jmp 0xf6783ac4
cmp eax, 1
jne 0x42391f
test esi, esi
je 0x4238b1
mov eax, ebx
call 0x5c4b3ad8
test al, al
jne 0x4238b1
cmp esi, 2
jne case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca538f0
mov esi, dword [esi + 0x58]
test esi, esi
je 0x4238c8
mov esi, dword [esi + 8]
jmp 0x4238ca
xor esi, esi
push 0
push esi
push 0xa
push ebx
call 0x2c853b09
mov eax, ebx
call 0xbc933a10
mov edx, dword [ebx + 0xf0]
lea eax, [esp + 0x60]
push eax
mov edi, 0xde
mov dword [ebx + 0xf8], edx
call 0xdc8a3a2b
mov byte [esp + 0x80], 0xf
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xbc813b3d
lea ecx, [esp + 0x60]
mov byte [esp + 0x80], 0
call 0x7ce7394e
jmp 0xf6783b53
cmp eax, 2
jne case.0x4221b6.3
push 0x100
lea ecx, [esp + 0x24]
mov byte [esp + 0x1b], 0
call 0x5c873a6f
mov esi, dword [ebx + 0x100]
call 0x4ca5397a
mov edi, dword [esi + 0x198]
xor esi, esi
mov edi, edi
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 0
push esi
mov ecx, edi
call eax
push 0xffffffffffffffff
push ebx
call 0x6c823b98
mov eax, dword [ebx + 0x138]
lea ecx, [eax + eax*8]
push 0
add ecx, ecx
mov edx, dword [ebx + ecx*8 + 0xb870]
push 1
lea eax, [ebx + ecx*8 + 0xb850]
push 0xf1
push edx
call dword [0x57273c]
mov eax, ebx
call 0xbc933ac8
inc esi
cmp esi, 3
jb 0x423950
jmp 0xfd783bd3
cmp dword [ebx + 0x108], 0
mov byte [esp + 0x17], 0
je 0x4239bc
mov eax, ebx
call 0x5c4b3be8
test al, al
je case.0x4221b6.3
push 0
push 0
push 2
push 0x2b
push ebx
call 0xbc883bfe
mov eax, ebx
call 0xbc933b05
push 0
push 0
push 0xffff
push 0
push ebx
mov eax, 6
call 0xbc833c1b
push 0
push 0
push 0xff
push 0
push ebx
mov eax, 7
call 0xbc833c31
push 0
push 0
push 0x7fffffff
push 0
push ebx
mov eax, 8
call 0xbc833c47
push 0
push 0
push 0x7fffffff
push 0
push ebx
mov eax, 9
call 0xbc833c5d
mov eax, ebx
call 0xbc933b64
push 0
push 0
push 0xa
push 0x2c
push ebx
call 0xbc883c72
push 0
push 0
push 5
push 0
push ebx
mov eax, 0xb
call 0xbc833c85
push 0x15
push ebx
xor eax, eax
call 0x6c823c8f
mov eax, ebx
call 0xbc933b96
mov dword [esp + 0x24], 0x2b
xor esi, esi
lea esp, [esp]
lea eax, [esp + 0x64]
push eax
mov edi, 0xdf
call 0xdc8a3bb3
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x80], 0x10
mov eax, dword [eax]
push eax
push 1
push ecx
push 0x1c
push ebx
call 0xbc883ccd
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x423ac1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x68]
push ecx
mov edi, 0xe0
call 0xdc8a3c04
mov byte [esp + 0x80], 0x11
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x28]
push esi
push 0x7fffffff
push esi
add eax, 0xc
push ebx
call 0xbc833d23
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x423b17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test byte [esp + 0x24], 1
jne 0x423b25
mov eax, ebx
call 0xbc933c59
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, 0x37
jb 0x423a70
mov eax, ebx
call 0xbc933c72
cmp dword [ebx + 0x108], esi
jne case.0x4221b6.3
lea ecx, [esp + 0x6c]
push ecx
mov edi, 0xe1
call 0xdc8a3c8d
mov byte [esp + 0x80], 0x12
mov eax, dword [eax]
push eax
mov eax, ebx
call 0xbc813d9f
lea ecx, [esp + 0x6c]
mov byte [esp + 0x80], 0
call 0x7ce73bb0
mov eax, ebx
call 0xbc933cb7
mov edi, 0x1b
push esi
push esi
push edi
push 0x3f
push ebx
call 0xbc883dc7
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 2
jne 0x423baf
mov eax, ebx
call 0xbc933ce3
inc edi
cmp edi, 0x20
jbe 0x423b88
mov eax, ebx
call 0xbc933cf0
mov edi, 0x21
push esi
push esi
push 0xff
push esi
push ebx
mov eax, edi
call 0xbc833e05
inc edi
cmp edi, 0x25
jbe 0x423bc1
mov ecx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add ecx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], ecx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x423c0f
mov dword [ebx + 0xc8], eax
mov edx, dword [ebx + 0xac]
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xc0], esi
mov edi, 0x26
lea esp, [esp]
push esi
push esi
push 0xff
push esi
push ebx
mov eax, edi
call 0xbc833e74
inc edi
cmp edi, 0x29
jbe 0x423c30
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xc4]
add dword [ebx + 0xac], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x423c7e
mov dword [ebx + 0xc8], eax
mov ecx, dword [ebx + 0xac]
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xb4], ecx
mov dword [ebx + 0xc0], esi
jmp 0xfd783ecf
cmp dword [ebx + 0x108], 0
mov byte [esp + 0x17], 0
je 0x423cce
mov eax, ebx
call 0x3c4b3ee4
test al, al
jne 0x423cce
mov eax, ebx
call 0x8c4b3eef
test al, al
jne 0x423cce
mov eax, ebx
call 0x5c4b3efa
test al, al
je case.0x4221b6.3
push 0
push 1
push 2
push 0x1a
push ebx
call 0xbc883f10
push 0
push 1
push 1
push 0
push ebx
mov eax, 3
call 0xbc833f23
push 0
push 0
push 5
mov eax, 4
jmp 0xee783f33
cmp dword [ebx + 0x108], 0
je 0x423d22
mov eax, ebx
call 0x8c4b3f43
test al, al
jne 0x423d22
mov eax, ebx
call 0x5c4b3f4e
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca53d61
mov esi, dword [esi + 0xa8]
test esi, esi
je 0x423d3c
mov eax, dword [esi + 8]
jmp 0x423d3e
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c853f7d
mov esi, dword [ebx + 0x100]
call 0x4ca53d88
mov esi, dword [esi + 0xac]
test esi, esi
je 0x423d63
mov esi, dword [esi + 8]
jmp 0x423d65
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c853fa4
mov eax, ebx
call 0xbc933eab
push 0
push 1
push 0x7ff
mov eax, 4
jmp 0xee783fbe
cmp dword [ebx + 0x108], 0
je 0x423dad
mov eax, ebx
call 0x8c4b3fce
test al, al
jne 0x423dad
mov eax, ebx
call 0x5c4b3fd9
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca53dec
mov esi, dword [esi + 0xa0]
test esi, esi
je 0x423dc7
mov eax, dword [esi + 8]
jmp 0x423dc9
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c854008
mov eax, ebx
call 0xbc933f0f
mov esi, dword [ebx + 0x100]
call 0x4ca53e1a
mov esi, dword [esi + 0xa4]
test esi, esi
je 0x423df5
mov esi, dword [esi + 8]
jmp 0x423df7
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c854036
mov eax, ebx
call 0xbc933f3d
push 0
push 0
push 3
push 1
push ebx
mov eax, 8
call 0xbc834050
push 0
push 0
push 0xf
push 0
push ebx
mov eax, 9
call 0xbc834063
mov eax, ebx
call 0xbc933f6a
push 0
push 0
push 0x7fff
push 0
push ebx
mov eax, 4
call 0xbc834080
push 0
push 1
push 0x7fff
push 0
push ebx
mov eax, 5
call 0xbc834096
mov eax, ebx
call 0xbc933f9d
push 0
push 0
push 0xa
push 1
push ebx
mov eax, 6
call 0xbc8340b0
push 7
push ebx
xor eax, eax
call 0x6c8240ba
jmp 0xf67840bf
cmp dword [ebx + 0x108], 0
je 0x423eae
mov eax, ebx
call 0x8c4b40cf
test al, al
jne 0x423eae
mov eax, ebx
call 0x5c4b40da
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca53eed
mov esi, dword [esi + 0x90]
test esi, esi
je 0x423ec8
mov eax, dword [esi + 8]
jmp 0x423eca
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c854109
mov eax, ebx
call 0xbc934010
mov esi, dword [ebx + 0x100]
call 0x4ca53f1b
mov esi, dword [esi + 0x94]
test esi, esi
je 0x423ef6
mov esi, dword [esi + 8]
jmp 0x423ef8
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c854137
mov eax, ebx
call 0xbc93403e
push 0
push 0
push 0x3fff
push 0
push ebx
mov eax, 6
call 0xbc834154
push 0
push 0
push 0x3fff
push 0
push ebx
mov eax, 7
call 0xbc83416a
mov eax, ebx
call 0xbc934071
push 0
push 1
push 8
push 0x38
push ebx
call 0xbc88417f
push 0
push 1
push 9
push 0x22
push ebx
call 0xbc88418d
push 0
push 1
push 0xa
push 0x22
push ebx
call 0xbc88419b
jmp 0xf67841a0
cmp dword [ebx + 0x108], 0
je 0x423f8f
mov eax, ebx
call 0x8c4b41b0
test al, al
jne 0x423f8f
mov eax, ebx
call 0x5c4b41bb
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca53fce
mov esi, dword [esi + 0x98]
test esi, esi
je 0x423fa9
mov eax, dword [esi + 8]
jmp 0x423fab
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c8541ea
mov esi, dword [ebx + 0x100]
call 0x4ca53ff5
mov esi, dword [esi + 0x9c]
test esi, esi
je 0x423fd0
mov esi, dword [esi + 8]
jmp 0x423fd2
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c854211
mov eax, ebx
call 0xbc934118
push 0
push 0
push 0x400
push 0
push ebx
mov eax, 4
call 0xbc83422e
push 0
push 0
push 0x400
push 0
push ebx
mov eax, 5
call 0xbc834244
push 0
push 0
push 0x400
push 0
push ebx
mov eax, 6
call 0xbc83425a
push 0
push 0
push 0x400
push 0
push ebx
mov eax, 7
call 0xbc834270
mov eax, ebx
call 0xbc934177
push 0
push 0
push 0x7f
push 0
push ebx
mov eax, 8
call 0xbc83428a
push 0
push 0
push 0x7f
push 0
push ebx
mov eax, 9
call 0xbc83429d
push 0
push 0
push 0x1ffff
push 0
push ebx
mov eax, 0xa
call 0xbc8342b3
push 0
push 0
push 0x1ffff
mov eax, 0xb
jmp 0xee7842c6
cmp dword [ebx + 0x108], 0
je 0x4240b5
mov eax, ebx
call 0x8c4b42d6
test al, al
jne 0x4240b5
mov eax, ebx
call 0x5c4b42e1
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca540f4
mov esi, dword [esi + 0xb8]
test esi, esi
je 0x4240cf
mov eax, dword [esi + 8]
jmp 0x4240d1
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c854310
mov esi, dword [ebx + 0x100]
call 0x4ca5411b
mov esi, dword [esi + 0xbc]
test esi, esi
je 0x4240f6
mov esi, dword [esi + 8]
jmp 0x4240f8
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c854337
mov eax, ebx
call 0xbc93423e
push 0
push 0
push 4
push 0x56
push ebx
call 0xbc88434c
push 0
push 1
push 5
push 0x1c
push ebx
call 0xbc88435a
mov eax, ebx
call 0xbc934261
push 0
push 1
push 6
push 0x39
push ebx
call 0xbc88436f
push 0
push 1
push 0x7f
push 0
push ebx
mov eax, 8
call 0xbc834382
push 0
push 1
push 7
push 0x39
push ebx
call 0xbc884390
push 0
push 1
push 0x7f
push 0
push ebx
mov eax, 9
call 0xbc8343a3
mov eax, ebx
call 0xbc9342aa
mov esi, 0xb
jmp 0x424180
push 0
push 1
push esi
push 4
push ebx
call 0xbc8843c1
inc esi
cmp esi, 0xe
jb 0x424180
jmp 0xf67843cc
cmp dword [ebx + 0x108], 0
je 0x4241bb
mov eax, ebx
call 0x8c4b43dc
test al, al
jne 0x4241bb
mov eax, ebx
call 0x5c4b43e7
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca541fa
mov esi, dword [esi + 0xb0]
test esi, esi
je 0x4241d5
mov eax, dword [esi + 8]
jmp 0x4241d7
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c854416
mov esi, dword [ebx + 0x100]
call 0x4ca54221
mov esi, dword [esi + 0xb4]
test esi, esi
je 0x42420a
mov esi, dword [esi + 8]
push 0
push esi
push 3
push ebx
call 0x2c854439
jmp 0xf678443e
xor esi, esi
push esi
push esi
push 3
push ebx
call 0x2c85444a
jmp 0xf678444f
cmp dword [ebx + 0x108], 0
je 0x42423e
mov eax, ebx
call 0x8c4b445f
test al, al
jne 0x42423e
mov eax, ebx
call 0x5c4b446a
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca5427d
mov esi, dword [esi + 0xc0]
xor edi, edi
cmp esi, edi
je 0x42425a
mov eax, dword [esi + 8]
jmp 0x42425c
xor eax, eax
push edi
push eax
push 1
push ebx
call 0x2c85449a
mov esi, dword [ebx + 0x100]
call 0x4ca542a5
mov esi, dword [esi + 0xc4]
cmp esi, edi
je 0x424280
mov esi, dword [esi + 8]
jmp 0x424282
xor esi, esi
push edi
push esi
push 3
push ebx
call 0x2c8544c0
mov eax, ebx
call 0xbc9343c7
xor esi, esi
lea edx, [esi + 0x1a]
push edx
push ebx
xor eax, eax
call 0x6c8244d5
inc esi
cmp esi, 5
jb 0x424295
mov eax, ebx
call 0xbc9343e2
xor esi, esi
lea eax, [esi + 0x1f]
push eax
push ebx
xor eax, eax
call 0x6c8244f0
inc esi
cmp esi, 3
jb 0x4242b0
mov eax, ebx
call 0xbc9343fd
push edi
push edi
push 0xff
push edi
push ebx
mov eax, 4
call 0xbc834510
push edi
push edi
push 5
push 0x17
push ebx
call 0xbc88451c
push edi
push edi
push 6
push 0x18
push ebx
call 0xbc884528
mov eax, ebx
call 0xbc93442f
push edi
push edi
push 0xfffff
push edi
push ebx
mov eax, 7
call 0xbc834542
push edi
push edi
push 0xfffff
push edi
push ebx
mov eax, 8
call 0xbc834555
push edi
push edi
push 0xfffff
push edi
push ebx
mov eax, 9
call 0xbc834568
mov eax, ebx
call 0xbc93446f
xor esi, esi
lea ecx, [ecx]
lea ecx, [esi + 0xa]
mov edx, ebx
call 0xdc8a457e
inc esi
cmp esi, 4
jb 0x424340
mov ecx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add ecx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], ecx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x424388
mov dword [ebx + 0xc8], eax
mov edx, dword [ebx + 0xac]
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xc0], edi
xor esi, esi
lea ecx, [esi + 0xe]
mov edx, ebx
call 0xdc8a45e0
inc esi
cmp esi, 4
jb 0x4243a2
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xc4]
add dword [ebx + 0xac], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x4243ea
mov dword [ebx + 0xc8], eax
mov ecx, dword [ebx + 0xac]
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xb4], ecx
mov dword [ebx + 0xc0], edi
xor esi, esi
cmp esi, 2
je 0x424417
push edi
push edi
push 0x7f
push edi
lea eax, [esi + 0x12]
push ebx
call 0xbc83464b
inc esi
cmp esi, 4
jb 0x424404
mov edx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add edx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], edx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x424455
mov dword [ebx + 0xc8], eax
mov eax, dword [ebx + 0xac]
push edi
push edi
push 0x7ffff
push edi
mov dword [ebx + 0xb4], eax
push ebx
mov eax, 0x16
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xc0], edi
call 0xbc8346b4
push edi
push edi
push 0x7ffff
push edi
push ebx
mov eax, 0x17
call 0xbc8346c7
mov ecx, dword [ebx + 0xd0]
mov eax, dword [ebx + 0xa0]
add ecx, dword [ebx + 0xc4]
mov dword [ebx + 0xa8], eax
add dword [ebx + 0xac], ecx
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x4244cb
mov dword [ebx + 0xc8], eax
mov edx, dword [ebx + 0xac]
push edi
push edi
push 0x18
push 0x19
push ebx
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xc0], edi
call 0xbc884723
push edi
push edi
push 0x7f
push edi
push ebx
mov eax, 0x19
call 0xbc834733
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0xa8], eax
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xc4]
add dword [ebx + 0xac], eax
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xc8]
jl 0x424537
mov dword [ebx + 0xc8], eax
mov ecx, dword [ebx + 0xac]
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xb4], ecx
mov dword [ebx + 0xc0], edi
jmp 0xfd784788
cmp dword [ebx + 0x108], 0
je 0x424577
mov eax, ebx
call 0x8c4b4798
test al, al
jne 0x424577
mov eax, ebx
call 0x5c4b47a3
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca545b6
mov esi, dword [esi + 0xc8]
test esi, esi
je 0x424591
mov eax, dword [esi + 8]
jmp 0x424593
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c8547d2
mov esi, dword [ebx + 0x100]
call 0x4ca545dd
mov esi, dword [esi + 0xcc]
test esi, esi
je 0x4245b8
mov esi, dword [esi + 8]
jmp 0x4245ba
xor esi, esi
push 0
push esi
push 3
push ebx
call 0x2c8547f9
mov eax, ebx
call 0xbc934700
push 0
push 0
push 0xffff
push 0
push ebx
mov eax, 4
call 0xbc834816
push 0
push 0
push 0x3f
push 0
push ebx
mov eax, 5
call 0xbc834829
mov eax, ebx
call 0xbc934730
mov esi, 6
push 0
push 1
push esi
push 0x22
push ebx
call 0xbc884842
inc esi
cmp esi, 8
jbe 0x424601
mov eax, ebx
call 0xbc93474f
push 0
push 0
push 0x7ffff
mov eax, 9
jmp 0xee784862
cmp dword [ebx + 0x108], 0
je 0x424646
mov eax, ebx
call 0x8c4b4872
test al, al
je case.0x4221b6.3
mov esi, dword [ebx + 0x100]
call 0x4ca54685
mov esi, dword [esi + 0xd0]
test esi, esi
je 0x424660
mov eax, dword [esi + 8]
jmp 0x424662
xor eax, eax
push 0
push eax
push 1
push ebx
call 0x2c8548a1
mov eax, ebx
call 0xbc9347a8
push 0
push 0
push 0xffff
push 0
push ebx
mov eax, 3
call 0xbc8348be
push 0
push 0
push 0xffff
push 0
push ebx
mov eax, 4
call 0xbc8348d4
push 0
push 0
push 5
push 0x59
push ebx
call 0xbc8848e2
mov eax, ebx
call 0xbc9347e9
push 0
push 1
push 2
push 0x39
push ebx
call 0xbc8848f7
push 0
push 0
push 0xf
push 0
push ebx
mov eax, 6
call 0xbc83490a
push 0
push 1
push 7
push 0x22
push ebx
call 0xbc884918
push 0
push 0
push 0xff
mov eax, 8
push 0
push ebx
call 0xbc83492e
mov eax, ebx
call 0xbc934835
push 0
push 2
lea edx, [esp + 0x74]
mov edi, 1
push edx
mov esi, ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], 2
call 0x7c8b4856
cmp byte [esp + 0x17], 0
je 0x42496e
cmp dword [ebx + 0x118], edi
jne 0x42496e
push edi
push 0x5a17c8
lea ecx, [esp + 0x28]
call 0xc56487c
mov eax, dword [ebx + 0x10c]
mov esi, dword [ebx + 0x110]
mov edi, dword [ebx + 0x100]
mov dword [esp + 0x18], 0
cmp eax, 0x1c
jge case.0x4247b0.3
mov eax, dword [eax*4 + 0x59e760]
cmp esi, eax
jae case.0x4247b0.3
mov eax, dword [edi + 0x1c]
mov edx, dword [ebx + 0x10c]
mov ecx, esi
call 0xcc4947be
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x4247b0.3
cmp dword [ebx + 0x10c], 0x1a
ja case.0x4247b0.3
mov eax, dword [ebx + 0x10c]
movzx eax, byte [eax + 0x424ac8]
jmp dword [eax*4 + 0x424a84]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
push ecx
push edi
mov ecx, 1
mov eax, esi
call 0x8cef4801
jmp 0x387b4a06
mov edx, dword [esp + 0x1c]
push 1
push edx
lea ecx, [esp + 0x20]
mov eax, esi
mov edx, edi
call 0xdcf3481a
jmp 0x387b4a1f
mov eax, dword [esp + 0x1c]
push edi
push eax
lea edx, [esp + 0x20]
mov ecx, 1
mov eax, esi
call 0xccf84835
jmp 0x387b4a3a
mov eax, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov ecx, 1
call 0x1cfb484e
jmp 0x387b4a53
mov ecx, dword [esp + 0x1c]
push edi
push ecx
lea edx, [esp + 0x20]
mov ecx, 1
mov eax, esi
call 0x9cfd4869
jmp 0x387b4a6e
mov eax, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov ecx, 1
call 0xcd014882
jmp 0x387b4a87
mov ecx, dword [esp + 0x1c]
push esi
push edi
lea eax, [esp + 0x20]
mov edx, 1
call 0xd07489b
jmp 0x387b4aa0
mov edx, dword [esp + 0x1c]
push edi
push edx
lea edx, [esp + 0x20]
mov ecx, 1
mov eax, esi
call 0x2d1248b6
jmp 0x387b4abb
mov eax, dword [esp + 0x1c]
push edi
push eax
lea edx, [esp + 0x20]
mov ecx, 1
mov eax, esi
call 0xfd1448d1
jmp 0x387b4ad6
mov ecx, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov eax, 1
call 0x8d1848ea
jmp 0x387b4aef
mov eax, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov ecx, 1
call 0x8d1a4903
jmp 0x42493c
push esi
lea ecx, [esp + 0x1c]
mov eax, 1
mov edx, edi
call 0xed1c4916
jmp 0x42493c
mov eax, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov ecx, 1
call 0xcd1e492c
jmp 0x42493c
mov ecx, dword [esp + 0x1c]
push edi
push ecx
lea edx, [esp + 0x20]
mov ecx, 1
mov eax, esi
call 0x3d234944
jmp 0x42493c
mov eax, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov ecx, 1
call 0x5d28495a
jmp 0x42493c
mov eax, dword [esp + 0x1c]
push esi
push edi
lea edx, [esp + 0x20]
mov ecx, 1
call 0x2d2b4970
cmp dword [esp + 0x18], 0
jne 0x424947
xor eax, eax
jmp 0x42495f
mov eax, dword [esp + 0x18]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x424950
sub eax, edx
sar eax, 1
mov edx, dword [esp + 0x18]
push eax
push edx
lea ecx, [esp + 0x28]
call 0xc564aa2
mov esi, dword [esp + 0x20]
push esi
mov ecx, ebx
call 0x2b064cae
xor eax, eax
cmp dword [ebx + 0x128], eax
jbe 0x4249a1
jmp 0x424990
mov byte [ebx + eax + 0xe2d2], 0
inc eax
cmp eax, dword [ebx + 0x128]
jb 0x424990
xor eax, eax
cmp dword [ebx + 0x12c], eax
jbe 0x4249c1
jmp 0x4249b0
mov byte [eax + ebx + 0xe2ed], 0
inc eax
cmp eax, dword [ebx + 0x12c]
jb 0x4249b0
xor eax, eax
cmp dword [ebx + 0x138], eax
jbe 0x4249e1
jmp 0x4249d0
mov byte [eax + ebx + 0xe298], 0
inc eax
cmp eax, dword [ebx + 0x138]
jb 0x4249d0
lea eax, [esi - 0x10]
mov dword [esp + 0x80], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x424a08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret