Function at 0x410ee3
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xcb8
mov ecx, dword [0x43c844]
mov dword [esp + 0xc0], 0x29e9c50e
mov word [esp + 0xc4], 0
mov dword [esp + 0x228], 0
mov eax, dword [esp + 0x228]
cmp eax, 5
ja 0x40ceae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x228]
mov edx, dword [esp + 0x228]
movzx edx, byte [esp + edx + 0xc0]
add eax, 0x4fe51d77
xor eax, edx
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x2a8]
add al, 0xad
mov edx, dword [esp + 0x228]
mov byte [esp + edx + 0xc0], al
inc dword [esp + 0x228]
mov eax, dword [esp + 0x228]
cmp eax, 6
jb 0x40ce60
mov edx, dword [str.WpM2Co__SUSELL]
mov dword [esp + 0x2a8], 0xfa2edee3
mov dword [esp + 0x2ac], 0x22db242e
mov dword [esp + 0x2b0], 0x22d32836
mov dword [esp + 0x2b4], 0xd223222b
mov dword [esp + 0x2b8], 0x23f0302d
mov dword [esp + 0x2bc], 0xf9ed3933
mov dword [esp + 0x2c0], 0x3df8f3fe
mov dword [esp + 0x2c4], 0xa5e5c33f
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 0x1f
ja 0x40cf5f
nop
nop
nop
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
movzx esi, byte [esp + esi + 0x2a8]
add eax, 0x7c70cf9f
xor eax, esi
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
add al, 0xe5
mov esi, dword [esp + 0x20]
mov byte [esp + esi + 0x2a8], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 0x20
jb 0x40cf20
movzx ebx, byte [esp + 0x2a8]
lea eax, [esp + 0x228]
test bl, bl
je 0x40cf8b
lea esi, [esp + 0x2a9]
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40cf80
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x40cfab
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x40cfa0
mov byte [eax], 0
movzx edx, byte [esp + 0xc0]
test dl, dl
je 0x40cfdb
lea esi, [esp + 0xc1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x40cfd0
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x40cffb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x40cff0
mov byte [eax], 0
lea ecx, [esp + 0x228]
mov dword [esp + 0x2a8], 0x13a511d3
mov dword [esp + 0x2ac], 0xef62ed5a
mov dword [esp + 0x2b0], 0xeb5ce955
mov dword [esp + 0x2b4], 0xe713e568
mov dword [esp + 0x2b8], 0xe36be14c
mov dword [esp + 0x2bc], 0xff43fd4c
mov dword [esp + 0x2c0], 0xfb1af932
mov dword [esp + 0x2c4], 0xf746f555
mov dword [esp + 0x2c8], 0xf346f140
mov dword [esp + 0x2cc], 0xcf6dcd75
mov dword [esp + 0x2d0], 0xcb46c969
mov dword [esp + 0x2d4], 0xc771c57d
mov dword [esp + 0x2d8], 0xc335c176
mov dword [esp + 0x2dc], 0xdf2bdd54
mov dword [esp + 0x2e0], 0xdb55d957
mov dword [esp + 0x2e4], 0xd723d55b
mov dword [esp + 0x2e8], 0xd365d16e
mov dword [esp + 0x2ec], 0xaf1bad1e
mov dword [esp + 0x2f0], 0xab27a95d
mov dword [esp + 0x2f4], 0xa712a516
mov dword [esp + 0x2f8], 0xa314a11d
mov dword [esp + 0x2fc], 0xbf09bd1f
mov dword [esp + 0x300], 0xbb07b904
mov dword [esp + 0x304], 0xb7a3b508
mov dword [esp + 0x308], 0xb3b2b1aa
mov dword [esp + 0x20], 0
mov edx, dword [esp + 0x20]
cmp edx, 0x63
ja 0x40d171
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
movzx esi, byte [esp + esi + 0x2a8]
add edx, 0x5b9c57fc
xor edx, esi
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xc0]
add dl, 0x14
mov esi, dword [esp + 0x20]
mov byte [esp + esi + 0x2a8], dl
inc dword [esp + 0x20]
mov edx, dword [esp + 0x20]
cmp edx, 0x64
jb 0x40d130
sub eax, ecx
mov dword [esp + 0xc0], 0x2343217f
mov dword [esp + 0xc4], 0x27bf25b4
mov word [esp + 0xc8], 0x5958
mov dword [esp + 0xca], 0
mov byte [esp + 0xce], 0
mov dword [esp + 0x1c0], 0
mov edx, dword [esp + 0x1c0]
cmp edx, 0xe
ja 0x40d20a
nop
nop
nop
mov edx, dword [esp + 0x1c0]
mov esi, dword [esp + 0x1c0]
movzx esi, byte [esp + esi + 0xc0]
add edx, 0x4569f0b8
xor edx, esi
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
add dl, 0x68
mov esi, dword [esp + 0x1c0]
mov byte [esp + esi + 0xc0], dl
inc dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c0]
cmp edx, 0xf
jb 0x40d1c0
lea edx, [esp + 0xb8]
lea esi, [esp + 0xa8]
lea edi, [esp + 0x2a8]
lea ebx, [esp + 0xc0]
push edx
push esi
push eax
push ecx
push edi
push ebx
push 0x441acc
call fcn.0040bb20
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x43d210]
xor esi, esi
xor ecx, ecx
test esi, 0
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x43d218]
push 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, dword [esp + 0xb8]
mov esi, dword [esp + 0xa8]
lea eax, [ecx + ecx*2]
shr eax, 2
movzx edx, byte [esi + ecx - 1]
cmp edx, 0x3d
je 0x40d288
cmp edx, 0x2e
jne 0x40d289
dec eax
mov edx, ecx
xor edx, 2
and ecx, 0xfffffffd
add ecx, ecx
sub ecx, edx
movzx ecx, byte [esi + ecx]
cmp ecx, 0x3d
mov dword [esp + 0x1c], esi
je 0x40d2a7
cmp ecx, 0x2e
jne 0x40d2a8
dec eax
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
push eax
push dword [esp + 0x20]
call fcn.00430260
add esp, 8
push dword [esp + 0xa8]
call fcn.00433180
add esp, 4
xor ecx, ecx
test esi, esi
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x43d218]
push esi
call fcn.004023c0
add esp, 4
jmp dword [0x43d220]
push esi
mov esi, eax
call fcn.00408f70
mov eax, esi
add esp, 4
mov dword [esp + 0x1c], eax
push eax
call fcn.00402cd0
add esp, 4
mov esi, eax
mov dword [esp + 0x20], 0x8ee01a
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
cmp eax, 3
ja 0x40d378
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
movzx ecx, byte [esp + ecx + 0x20]
add eax, 0x2b07589d
xor eax, ecx
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x2a8]
add al, 0xef
mov ecx, dword [esp + 0xc0]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
cmp eax, 4
jb 0x40d330
lea eax, [esp + 0x20]
push eax
push esi
call fcn.00402d50
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x43d228]
jmp dword [0x43d234]
call fcn.0042ee40
nop
call fcn.0042ee40
jmp dword [0x43d23c]
movzx eax, al
jmp dword [eax*4 + 0x43d240]
mov word [esp + 0x2a8], 0xe5e1
mov byte [esp + 0x2aa], 0x42
mov dword [esp + 0x2ab], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 6
ja 0x40d42f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x2a8]
add eax, 0x4e9f83f0
xor eax, ecx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add al, 0x50
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x2a8], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 7
jb 0x40d3f0
push edi
push esi
call fcn.00402d50
add esp, 8
mov dword [esp + 0xa0], eax
mov word [esp + 0x2a8], 0x6453
mov byte [esp + 0x2aa], 0xc2
mov dword [esp + 0x2ab], 0
mov byte [esp + 0x2af], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 7
ja 0x40d4bf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x2a8]
add eax, 0x6c067a30
xor eax, ecx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc0]
add al, 0x10
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x2a8], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 8
jb 0x40d480
push edi
push esi
call fcn.00402d50
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], esi
push esi
call fcn.0040e090
add esp, 4
push dword [esp + 0x1c]
call fcn.00402f60
add esp, 4
lea esi, [esp + 0x1c0]
mov ecx, esi
push 1
call fcn.00409700
push esi
call fcn.0041a1f0
add esp, 4
mov ecx, esi
call fcn.00409fe0
lea esi, [esp + 0xbe0]
mov ecx, esi
push 3
call fcn.00409700
push esi
call fcn.0041a8d0
add esp, 4
mov ecx, esi
call fcn.00409fe0
lea esi, [esp + 0xb78]
mov ecx, esi
push 1
call fcn.00409700
push esi
call fcn.0041ab90
add esp, 4
mov ecx, esi
call fcn.00409fe0
lea esi, [esp + 0xb10]
mov ecx, esi
push 1
call fcn.00409700
push esi
call fcn.0041ca30
add esp, 4
push esi
call fcn.0041d310
add esp, 4
push esi
call fcn.0041d770
add esp, 4
mov ecx, esi
call fcn.00409fe0
lea esi, [esp + 0xc48]
mov ecx, esi
push 1
call fcn.00409700
push esi
call fcn.0041f280
add esp, 4
mov ecx, esi
call fcn.00409fe0
lea esi, [esp + 0xaa8]
mov ecx, esi
push 1
call fcn.00409700
push esi
call fcn.00423fa0
add esp, 4
push esi
call fcn.0042a340
add esp, 4
mov eax, dword [esp + 0xac]
jmp dword [eax*4 + 0x43d248]
push esi
call fcn.00421220
add esp, 4
lea ecx, [esp + 0xaa8]
call fcn.00409fe0
mov dword [esp + 0x20], 0x6a1d69ae
mov word [esp + 0x24], 0x6850
mov byte [esp + 0x26], 0xae
mov word [esp + 0x27], 0
mov byte [esp + 0x29], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xc0]
cmp eax, 9
ja 0x40d678
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
movzx ecx, byte [esp + ecx + 0x20]
add eax, 0x16cb4cdc
xor eax, ecx
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x2a8]
add al, 0xb4
mov ecx, dword [esp + 0xc0]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
cmp eax, 0xa
jb 0x40d630
mov eax, dword [0x43c844]
mov dword [esp], 0x29e985ce
mov dword [esp + 0xc0], 0
mov ecx, dword [esp + 0xc0]
cmp ecx, 3
ja 0x40d6e8
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc0]
movzx edx, byte [esp + edx]
add ecx, 0x4467a8c7
xor ecx, edx
mov dword [esp + 0x2a8], ecx
mov ecx, dword [esp + 0x2a8]
add cl, 0x1d
mov edx, dword [esp + 0xc0]
mov byte [esp + edx], cl
inc dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x40d6a0
mov ecx, dword [str.WpM2Co__SUSELL]
mov dword [esp + 0x2a8], 0xb27a4659
mov dword [esp + 0x2ac], 0x507e484f
mov dword [esp + 0x2b0], 0x40414c45
mov dword [esp + 0x2b4], 0xb177766d
mov dword [esp + 0x2b8], 0x82487442
mov dword [esp + 0x2bc], 0xb9b2b788
mov dword [esp + 0x2c0], 0x9a627874
mov byte [esp + 0x2c4], 0xdc
mov dword [esp + 0x2c5], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 8]
cmp edx, 0x20
ja 0x40d7a1
nop
mov edx, dword [esp + 8]
mov esi, dword [esp + 8]
movzx esi, byte [esp + esi + 0x2a8]
add edx, 0x14852dd6
xor edx, esi
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xc0]
add dl, 0xd2
mov esi, dword [esp + 8]
mov byte [esp + esi + 0x2a8], dl
inc dword [esp + 8]
mov edx, dword [esp + 8]
cmp edx, 0x21
jb 0x40d760
movzx edx, byte [esp + 0x2a8]
test dl, dl
je 0x40d7cb
lea ebx, [esp + 0xc0]
lea esi, [esp + 0x2a9]
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x40d7c0
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x40d7eb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x40d7e0
mov byte [ebx], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40d80b
lea edx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d800
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x40d82b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x40d820
mov byte [ebx], 0
movzx eax, byte [esp + 0x20]
test al, al
je 0x40d84b
lea ecx, [esp + 0x21]
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d840
mov byte [ebx], 0
movzx eax, byte [0x441a6c]
test al, al
je 0x40d871
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [ebx + ecx], al
movzx eax, byte [ecx + 0x441a6d]
inc ecx
test al, al
jne 0x40d860
add ebx, ecx
mov byte [ebx], 0
lea eax, [esp + 0xc0]
mov dword [esp + 0x2a8], 0x3fad39ff
mov dword [esp + 0x2ac], 0x23b63dae
mov dword [esp + 0x2b0], 0x27b42185
mov dword [esp + 0x2b4], 0x2bc725b0
mov dword [esp + 0x2b8], 0x2fb7299c
mov dword [esp + 0x2bc], 0x13b72dbc
mov dword [esp + 0x2c0], 0x17f611ce
mov dword [esp + 0x2c4], 0x1b8a15b5
mov dword [esp + 0x2c8], 0x1fb21988
mov dword [esp + 0x2cc], 0x3a51db5
mov dword [esp + 0x2d0], 0x79201a1
mov dword [esp + 0x2d4], 0xb9905ad
mov dword [esp + 0x2d8], 0xfdd099a
mov dword [esp + 0x2dc], 0xf31f0d94
mov dword [esp + 0x2e0], 0xf76df16b
mov dword [esp + 0x2e4], 0xfb17f56f
mov dword [esp + 0x2e8], 0xff6df952
mov dword [esp + 0x2ec], 0xe34ffd6a
mov dword [esp + 0x2f0], 0xe773e10d
mov dword [esp + 0x2f4], 0xeb46e572
mov dword [esp + 0x2f8], 0xef7ce94d
mov dword [esp + 0x2fc], 0xd341ed4b
mov dword [esp + 0x300], 0xd773d174
mov dword [esp + 0x304], 0xdbd7d570
mov dword [esp + 0x308], 0xdfded9d6
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x63
ja 0x40d9db
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x2a8]
add ecx, 0x7485234a
xor ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
add cl, 0x8e
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x2a8], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x64
jb 0x40d9a0
sub ebx, eax
mov dword [esp + 0x20], 0xd9bddbf5
mov dword [esp + 0x24], 0xdda1dfa8
mov dword [esp + 0x28], 0xd3dc
mov byte [esp + 0x2c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xc
ja 0x40da40
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0xcbc711cf
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xf5
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xd
jb 0x40da10
lea ecx, [esp + 0xb4]
lea edx, [esp + 0xa4]
push ecx
push edx
push ebx
push eax
push edi
lea eax, [esp + 0x34]
push eax
push 0x441acc
call fcn.0040bb20
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x43d250]
xor ebx, ebx
xor eax, eax
test ebx, 0
setne al
jmp dword [eax*4 + 0x43d258]
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0xa4]
lea eax, [ecx + ecx*2]
shr eax, 2
movzx edx, byte [esi + ecx - 1]
cmp edx, 0x3d
je 0x40daa6
cmp edx, 0x2e
jne 0x40daa7
dec eax
mov edx, ecx
xor edx, 2
and ecx, 0xfffffffd
add ecx, ecx
sub ecx, edx
movzx ecx, byte [esi + ecx]
cmp ecx, 0x3d
je 0x40dac1
cmp ecx, 0x2e
jne 0x40dac2
dec eax
push eax
call fcn.00408f60
add esp, 4
mov ebx, eax
push eax
push esi
call fcn.00430260
add esp, 8
push dword [esp + 0xa4]
call fcn.00433180
add esp, 4
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43d258]
push ebx
call fcn.004023c0
add esp, 4
mov esi, eax
jmp dword [0x43d260]
push ebx
call fcn.00408f70
add esp, 4
push esi
call fcn.00410d70
add esp, 4
push esi
call fcn.00402f60
add esp, 4
mov dword [esp + 0x2a8], 0xcf55afac
mov dword [esp + 0x2ac], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 7
mov edx, dword [esp + 0xb0]
ja 0x40db89
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x2a8]
add eax, 0x31fb8652
xor eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
add al, 0x66
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x2a8], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 8
jb 0x40db50
push edi
push edx
call fcn.00402d50
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x43d268]
xor eax, eax
cmp dword [esp + 0xa0], 0
setg al
jmp dword [eax*4 + 0x43d270]
lea ecx, [esp + 0x2a8]
push 1
call fcn.00409700
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + 0x441dd5], 0
lea eax, [eax + 1]
jne 0x40dbd0
mov dword [esp + 0x20], 0xae849878
mov dword [esp + 0x24], 0xb5ae5599
mov word [esp + 0x28], 0x3fb0
mov dword [esp + 0x2a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xd
ja 0x40dc40
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0xe81ee709
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xd3
mov edx, dword [esp]
mov byte [esp + edx + 0x20], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe
jb 0x40dc10
lea esi, [esp + 0x2a8]
mov ecx, esi
push eax
push 0x441dd4
lea eax, [esp + 0x28]
push eax
call fcn.00409910
mov ecx, esi
call fcn.00409fe0
mov ecx, esi
call fcn.00409740
xor eax, eax
cmp dword [esp + 0xa0], 0
setg al
jmp dword [eax*4 + 0x43d270]
push 0
call fcn.004364d0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d278]
mov dword [esp + 0x20], 0x93e791f3
mov dword [esp + 0x24], 0xaf98add0
mov dword [esp + 0x28], 0xab22a9d5
mov dword [esp + 0x2c], 0xa786a5d9
mov dword [esp + 0x30], 0xa3d1a182
mov dword [esp + 0x34], 0xbfdfbd30
mov dword [esp + 0x38], 0xbb36b9ca
mov dword [esp + 0x3c], 0xb781b594
mov dword [esp + 0x40], 0xb3cbb1c5
mov dword [esp + 0x44], 0xcfeecdba
mov dword [esp + 0x48], 0xcbbfc9ab
mov dword [esp + 0x4c], 0xc7f0c5b8
mov dword [esp + 0x50], 0xc34ac1bd
mov dword [esp + 0x54], 0xdffedda1
mov dword [esp + 0x58], 0xdbedd9fa
mov dword [esp + 0x5c], 0xd7f6d5b7
mov dword [esp + 0x60], 0xd3abd15c
mov dword [esp + 0x64], 0xef93ed99
mov dword [esp + 0x68], 0xeb67e99f
mov dword [esp + 0x6c], 0xe7c6e568
mov dword [esp + 0x70], 0xe36ee1d7
mov dword [esp + 0x74], 0xffcdfddc
mov dword [esp + 0x78], 0xfbcdf9d8
mov dword [esp + 0x7c], 0xf781f582
mov dword [esp + 0x80], 0xf380f192
mov dword [esp + 0x84], 0xf6f0d71
mov dword [esp + 0x88], 0xb2a0973
mov dword [esp + 0x8c], 0x726053a
mov dword [esp + 0x90], 0x37f017c
mov dword [esp + 0x94], 0x1f3e1d68
mov dword [esp + 0x98], 0x1b1a193a
mov dword [esp + 0x9c], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x7f
ja 0x40ddfe
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x20]
add ecx, 0x72dc869c
xor ecx, edx
mov dword [esp + 0x2a8], ecx
mov ecx, dword [esp + 0x2a8]
add cl, 0xf4
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x80
jb 0x40ddc0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x40de31
lea edi, [esp + 0x2a8]
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40de20
mov word [edi], 0
movzx ecx, word [eax]
test cx, cx
je 0x40de61
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], cx
add edi, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x40de50
mov dword [edi], 0x220022
mov dword [edi + 4], 0x22
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0x44
mov dword [esp + 0x4c], 1
push 0xc9be8534
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x2a8]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 0
push 0
push 0x8000000
push 0
push 0
push 0
push edx
push 0
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d280]
mov eax, dword [esp + 8]
mov dword [esp], 0xe0e7e6e5
mov word [esp + 4], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 5
ja 0x40df99
nop
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
movzx edx, byte [esp + edx]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xbc]
add cl, 0x43
mov edx, dword [esp + 0x18]
mov byte [esp + edx], cl
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, 6
jb 0x40df60
mov ecx, dword [0x442de0]
test ecx, ecx
je case.0x40dc74.4
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x40dfd3
inc esi
cmp ecx, esi
jne 0x40dfb0
jmp case.0x40dc74.4
push dword [esp + 0x1c]
call fcn.00402f60
add esp, 4
xor eax, eax
jmp case.0x40d2d8.1
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x40dc74.4
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
nop
nop
nop
jmp dword [0x43d294]
lea ecx, [esp + 0xaa8]
call fcn.00409740
lea ecx, [esp + 0xc48]
call fcn.00409740
jmp dword [0x43d2a8]
lea ecx, [esp + 0xb10]
call fcn.00409740
lea ecx, [esp + 0xb78]
call fcn.00409740
lea ecx, [esp + 0xbe0]
call fcn.00409740
lea ecx, [esp + 0x1c0]
call fcn.00409740
lea ecx, [esp + 0xb10]
call fcn.00409740
lea ecx, [esp + 0xb78]
call fcn.00409740
lea ecx, [esp + 0xbe0]
call fcn.00409740
lea ecx, [esp + 0x1c0]
call fcn.00409740
mov al, 1
jmp dword [0x43d2b0]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x48], esi
jmp 0x40e138
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x120]
inc ebx
push esi
call fcn.00402f20
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x43d2c0]
mov dword [esp + 0x120], ebx
jmp dword [0x43d2c8]
lea ecx, [esp + 0x50]
call fcn.00409740
jmp case.0x40f6ca.1
jmp dword [0x43d50c]
push esi
call fcn.00408f70
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408f70
add esp, 4
jmp dword [0x43d514]
mov ecx, dword [esp + 0x10c]
mov edi, ecx
lea eax, [edi + 1]
cmp byte [edi], 0
je 0x40e1a4
mov edi, eax
jmp 0x40e198
push edi
push ecx
call fcn.00412a50
add esp, 8
mov esi, eax
inc eax
lea eax, [esi + esi + 2]
jns 0x40e1bc
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x10c]
jae 0x40e21c
mov esi, dword [esp + 0x28]
cmp ebx, edi
jae 0x40e21c
mov esi, dword [esp + 0x28]
cmp byte [ebx], 0
je 0x40e21c
lea eax, [esp + 0x50]
push eax
push edi
push ebx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x40e21c
add ebx, eax
cmp ebx, edi
jb 0x40e1f1
mov word [esi], 0
lea ecx, [esp + 0x50]
push 1
call fcn.00409700
xor ebx, ebx
mov esi, dword [esp + 0x4c]
jmp 0x40e239
mov ebx, dword [esp + 0x1c]
inc ebx
push esi
call fcn.00402f20
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x43d408]
mov dword [esp + 0x1c], ebx
push ebx
push esi
call fcn.00402f00
add esp, 8
push eax
call fcn.00402c60
add esp, 4
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43d418]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
inc eax
cmp byte [edi], 0
jne 0x40e280
mov esi, edi
sub esi, ebx
mov eax, esi
inc eax
jns 0x40e298
mov eax, 0xffffffff
jmp 0x40e29f
lea eax, [esi*2 + 2]
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 4], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jae 0x40e2fb
mov esi, dword [esp + 0x14]
cmp ebx, edi
jae 0x40e2fb
mov esi, dword [esp + 0x14]
nop
nop
nop
cmp byte [ebx], 0
je 0x40e2fb
lea eax, [esp + 4]
push eax
push edi
push ebx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 4]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x40e2fb
add ebx, eax
cmp ebx, edi
jb 0x40e2d0
mov word [esi], 0
push 0
push 0
push dword [esp + 0x4c]
push dword [esp + 0x38]
mov ebx, dword [esp + 0x24]
push ebx
push dword [esp + 0x130]
push dword [esp + 0x40]
lea edi, [esp + 0x6c]
push edi
call fcn.004178e0
add esp, 0x20
mov esi, dword [esp + 0x4c]
jmp dword [0x43d420]
push ebx
call fcn.00408f70
add esp, 4
jmp case.0x410be7.15
jmp dword [0x43d410]
push dword [esp + 0x28]
call fcn.00408f70
add esp, 4
jmp dword [0x43d428]
jmp dword [0x43d428]
push dword [esp + 0x11c]
call fcn.00408f70
add esp, 4
lea esi, [esp + 0x50]
mov ecx, esi
call fcn.00409fe0
mov ecx, esi
call fcn.00409740
push dword [esp + 0x108]
call fcn.00433180
add esp, 4
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0xbc]
call fcn.004335d0
jmp case.0x40f6ca.1
push edx
call fcn.00408f70
add esp, 4
sub edi, esi
mov eax, 0xffffffff
cmp edi, 0xfffffffe
jl 0x40e3be
add edi, 2
mov eax, edi
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x11c], eax
push eax
push esi
call fcn.00430490
add esp, 8
jmp dword [0x43d400]
push esi
call fcn.00408f70
add esp, 4
mov ecx, dword [esp + 0x10c]
mov eax, ecx
jmp 0x40e1a0
add edi, 0xfffffff4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x43d500]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x40e400
push eax
call fcn.00408f70
add esp, 4
jmp 0x40e400
mov word [esp + 0x30], 0x6e72
mov byte [esp + 0x32], 0x9e
lea eax, [esp + 0x31]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 5
ja 0x40e483
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x5d11e25a
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x3e
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 6
jb 0x40e450
push 3
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43d328]
mov dword [esp + 4], 0xe714
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, 3
ja 0x40e502
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
movzx ecx, byte [esp + ecx + 4]
add eax, 0x79abeda9
xor eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
add al, 0xb3
mov ecx, dword [esp + 0xbc]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
cmp eax, 4
jb 0x40e4c0
lea eax, [esp + 4]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x10], eax
mov word [esp + 0x50], 0x31c5
mov dword [esp + 0x52], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40e58e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x50]
lea ecx, [eax + edx]
add ecx, 0x330f474
add eax, 0x74
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0xbc
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40e540
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402cf0
add esp, 8
mov dword [esp + 0x4c], eax
mov word [esp + 0x50], 0x98e
mov dword [esp + 0x52], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40e5f9
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x28b6fe
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0xa
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40e5c0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x14], eax
mov word [esp + 0x50], 0x2bc0
lea eax, [esp + 0x52]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 4
ja 0x40e67e
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
lea edx, [eax - 0x58d00509]
lea esi, [eax + ecx]
add esi, 0xa72ffaf7
add eax, 0xf7
or eax, edx
and eax, ecx
add eax, eax
sub esi, eax
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0xbc]
add al, 0x2d
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 5
jb 0x40e630
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c80
add esp, 8
mov word [esp + 0x50], 0x16e2
mov byte [esp + 0x52], 0xb6
lea eax, [esp + 0x52]
mov byte [eax + 3], 0
mov word [eax + 1], 0
fnstcw word [esp + 0x11a]
movzx eax, word [esp + 0x11a]
or eax, 0xc00
mov word [esp + 0x12e], ax
fldcw word [esp + 0x12e]
fistp dword [esp + 0x13c]
fldcw word [esp + 0x11a]
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x28], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40e746
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
lea edx, [eax + ecx]
add edx, 0xc44ac51e
add eax, 0xc44ac51e
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0xbc]
add al, 0x6a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40e700
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c80
add esp, 8
mov word [esp + 0x50], 0x33a
mov byte [esp + 0x52], 0x9e
mov dword [esp + 0x53], 0
fnstcw word [esp + 0x118]
movzx eax, word [esp + 0x118]
or eax, 0xc00
mov word [esp + 0x12c], ax
fldcw word [esp + 0x12c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x118]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x11c], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40e7f9
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xd870b625
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x47
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40e7c0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402d50
add esp, 8
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x10]
lea ebx, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x40e820
xor esi, esi
cmp eax, ebx
jae 0x40e871
cmp byte [eax], 0
je 0x40e871
xor esi, esi
mov edi, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
push ebx
push edi
call fcn.0040cca0
add esp, 0xc
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
lea ecx, [edi + eax]
cmp ecx, ebx
jae 0x40e871
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x40e840
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x40e87f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
lea ecx, [eax + esi*2]
mov edx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov edi, dword [esp + 0x10]
jae 0x40e8f3
mov edx, dword [esp + 0x2c]
cmp edi, ebx
jae 0x40e8f3
mov edx, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x40e8f3
lea eax, [esp + 0x50]
push eax
push ebx
push edi
mov dword [esp + 0x1c], edx
call fcn.0040cca0
mov edx, dword [esp + 0x1c]
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [edx], cx
add edx, 2
cmp edx, dword [esp + 0x1c]
jae 0x40e8f3
add edi, eax
cmp edi, ebx
jb 0x40e8c0
mov word [edx], 0
lea eax, [esp + 4]
push eax
push 0
push 0
push esi
mov ebx, dword [esp + 0x3c]
push ebx
push 0
call dword [0x442ddc]
mov edi, dword [esp + 4]
lea eax, [edi + edi]
test edi, edi
jns 0x40e91f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov ecx, eax
lea eax, [esp + 4]
push eax
push edi
mov dword [esp + 0x4c], ecx
push ecx
push esi
push ebx
push 0
call dword [0x442ddc]
jmp dword [0x43d330]
push ebx
call fcn.00408f70
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, ecx
jmp 0x410c00
mov ecx, dword [esp + 0x14]
mov esi, ecx
jmp 0x410bf4
push dword [esp + 0x120]
push esi
call fcn.00402f30
add esp, 8
mov dword [esp + 4], 0xe768
mov dword [esp + 0xbc], 0
mov ecx, dword [esp + 0xbc]
cmp ecx, 3
ja 0x40e9f8
nop
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xbc]
movzx esi, byte [esp + edx + 4]
lea edx, [ecx + esi]
add ecx, 0x59
and ecx, esi
sub edx, ecx
add edx, 0x7c038f59
mov esi, edx
not esi
and esi, ecx
not ecx
and ecx, edx
sub ecx, esi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x50]
add cl, 0x43
mov edx, dword [esp + 0xbc]
mov byte [esp + edx + 4], cl
inc dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
cmp ecx, 4
jb 0x40e9a0
push 3
lea ecx, [esp + 8]
push ecx
push eax
call fcn.00402eb0
add esp, 0xc
mov esi, dword [esp + 0x48]
push dword [esp + 0x120]
push esi
call fcn.00402f30
add esp, 8
mov ebx, eax
mov dword [esp + 4], 0xe768
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, 3
ja 0x40ea97
nop
nop
nop
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
movzx edx, byte [esp + ecx + 4]
lea ecx, [eax + edx]
add eax, 0x59
and eax, edx
sub ecx, eax
add ecx, 0x7c038f59
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
add al, 0x43
mov ecx, dword [esp + 0xbc]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
cmp eax, 4
jb 0x40ea40
push 3
lea eax, [esp + 8]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
jmp dword [0x43d2d4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43d2d8]
mov word [esp + 0x50], 0x9f08
lea eax, [esp + 0x52]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x40eb29
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x7fbf3125
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x47
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x40eaf0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c80
add esp, 8
fnstcw word [esp + 0x112]
movzx eax, word [esp + 0x112]
or eax, 0xc00
mov word [esp + 0x126], ax
fldcw word [esp + 0x126]
fistp dword [esp + 0x140]
fldcw word [esp + 0x112]
mov eax, dword [esp + 0x140]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x43d2e0]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x43d2e8]
sete al
movzx eax, al
jmp dword [eax*4 + 0x43d2f0]
mov word [esp + 0x50], 0x3fc5
mov dword [esp + 0x52], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40ebf9
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x97948c75
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0xb7
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40ebc0
push 2
lea eax, [esp + 0x54]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d370]
mov word [esp + 0xbc], 0xbb14
mov dword [esp + 0xbe], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 5
ja 0x40ec79
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0xbc]
add eax, 0x50eebd1f
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x65
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0xbc], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 6
jb 0x40ec40
push 2
lea eax, [esp + 0xc0]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d378]
mov word [esp + 4], 0x71c5
lea eax, [esp + 6]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 4
ja 0x40ecf3
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 4]
add eax, 0xd655a094
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x1c
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 5
jb 0x40ecc0
push 5
lea eax, [esp + 8]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d380]
mov word [esp + 0x30], 0xc75e
mov dword [esp + 0x32], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 5
ja 0x40ed73
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xecfab31
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0xb
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 6
jb 0x40ed40
push 2
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d388]
mov word [esp + 0x3c], 0x913c
lea eax, [esp + 0x3e]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 4
ja 0x40edf3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x3c]
add eax, 0x5b89a224
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x4c
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x3c], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 5
jb 0x40edc0
push 3
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d390]
mov word [esp + 0x20], 0x9aaa
mov byte [esp + 0x22], 0xe
lea eax, [esp + 0x23]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 7
ja 0x40ee73
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x20]
add eax, 0xd4db40bd
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0x4f
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 8
jb 0x40ee40
push 3
lea eax, [esp + 0x24]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43d398]
mov word [esp + 0x50], 0x9b75
mov dword [esp + 0x52], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40eef9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xc9b59a5b
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x39
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40eec0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x14], eax
mov word [esp + 0x50], 0x1988
mov dword [esp + 0x52], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40ef80
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x50]
lea ecx, [eax + edx]
add ecx, 0x8f252ac6
add eax, 0xc6
and eax, edx
mov edx, ecx
not edx
and edx, eax
add edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x22
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40ef30
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x28], eax
mov word [esp + 0x50], 0x71e5
lea eax, [esp + 0x52]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x40eff9
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xbaa799ec
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x64
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x40efc0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402cf0
add esp, 8
mov esi, eax
mov word [esp + 0x50], 0x991e
lea eax, [esp + 0x52]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x40f079
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x462cada6
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0xc2
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x40f040
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x10c], eax
mov word [esp + 0x50], 0x41e4
lea eax, [esp + 0x52]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40f104
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
mov edx, eax
and edx, 0xec47c7f0
xor eax, 0xec47c7f0
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x50
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40f0c0
mov dword [esp + 0x4c], esi
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c80
add esp, 8
mov dword [esp + 4], 0x7ecada
fnstcw word [esp + 0x116]
movzx eax, word [esp + 0x116]
or eax, 0xc00
mov word [esp + 0x12a], ax
fldcw word [esp + 0x12a]
fistp dword [esp + 0x134]
fldcw word [esp + 0x116]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x44], eax
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, 3
ja 0x40f1c2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
movzx ecx, byte [esp + ecx + 4]
add eax, 0x50aad95
xor eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
add al, 0x17
mov ecx, dword [esp + 0xbc]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
cmp eax, 4
jb 0x40f180
lea eax, [esp + 4]
push eax
push ebx
call fcn.00402c80
add esp, 8
xor esi, esi
mov ebx, 0xfffffffe
mov eax, dword [esp + 0x14]
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + esi], 0
lea esi, [esi + 1]
jne 0x40f1e0
fnstcw word [esp + 0x114]
movzx eax, word [esp + 0x114]
or eax, 0xc00
mov word [esp + 0x128], ax
fldcw word [esp + 0x128]
fistp dword [esp + 0x130]
fldcw word [esp + 0x114]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 2]
test esi, esi
jns 0x40f234
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
add ebx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
cmp eax, ebx
mov ecx, dword [esp + 0x14]
jae 0x40f2a4
lea edi, [ecx + esi]
dec edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp ecx, edi
jae 0x40f2a4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp byte [ecx], 0
je 0x40f2a4
lea eax, [esp + 0x50]
push eax
push edi
push ecx
mov esi, ecx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov edx, dword [esp + 0x10]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x10], edx
cmp edx, ebx
jae 0x40f2a4
add esi, eax
cmp esi, edi
mov ecx, esi
jb 0x40f26f
mov eax, dword [esp + 0x10]
mov word [eax], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [esp + 0xbc]
mov esi, dword [esp + 0x1c]
push esi
call fcn.00433210
jmp dword [0x43d3a0]
push esi
call fcn.00408f70
add esp, 4
lea ecx, [esp + 0xbc]
push 0x400
call fcn.00433440
not eax
shr eax, 0x1f
mov esi, dword [esp + 0x48]
jmp dword [eax*4 + 0x43d3a8]
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x50], 0xe0e7e6e5
mov word [esp + 0x54], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
cmp eax, 5
ja 0x40f371
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
movzx edx, byte [esp + edx + 0x50]
add eax, 0x11c40b59
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x43
mov edx, dword [esp + 0x30]
mov byte [esp + edx + 0x50], al
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, 6
jb 0x40f33e
mov eax, dword [esp + 0x50]
mov edx, dword [0x442de0]
test edx, edx
je case.default.0x410750
xor esi, esi
mov edi, dword [0x442de4]
cmp dword [edi + esi*8], 0x1b788dcf
je 0x41071d
inc esi
cmp edx, esi
jne 0x40f38b
mov esi, dword [esp + 0x48]
jmp case.default.0x410750
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x43d2f8]
mov word [esp + 0x50], 0xc978
lea eax, [esp + 0x52]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40f434
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
mov edx, eax
and edx, 0x86d91ae
xor eax, 0x886d91ae
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x9a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40f3f0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0x19a6
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0xbc]
cmp eax, 3
ja 0x40f4b2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
movzx ecx, byte [esp + ecx + 4]
add eax, 0xa2e2633a
xor eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
add al, 0xde
mov ecx, dword [esp + 0xbc]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
cmp eax, 4
jb 0x40f470
lea eax, [esp + 4]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov ebx, dword [esp + 0x14]
test ebx, ebx
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x43d430]
mov ecx, ebx
mov edx, ebx
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x40f4e0
mov dword [esp + 0x10], eax
xor esi, esi
cmp ebx, edx
jbe 0x40f531
cmp byte [edx], 0
je 0x40f531
xor esi, esi
mov edi, dword [esp + 0x14]
nop
nop
nop
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
push ebx
push edi
call fcn.0040cca0
add esp, 0xc
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
lea ecx, [edi + eax]
cmp ecx, ebx
jae 0x40f531
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x40f500
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x40f53f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jae 0x40f9da
mov esi, dword [esp + 0x44]
cmp edi, ebx
jae 0x40f9da
mov esi, dword [esp + 0x44]
nop
nop
nop
cmp byte [edi], 0
je 0x40f9da
lea eax, [esp + 0x50]
push eax
push ebx
push edi
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x1c]
jae 0x40f9d6
add edi, eax
cmp edi, ebx
mov eax, dword [esp + 0x10]
jb 0x40f580
jmp 0x40f9da
mov word [esp + 0x50], 0x1bac
lea eax, [esp + 0x52]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40f629
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x7f26c2fb
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x19
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40f5f0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x14], eax
mov word [esp + 0x50], 0x27ae
lea eax, [esp + 0x52]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x40f6a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xa91ed2f9
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x23
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x40f670
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov ebx, dword [esp + 0x14]
test ebx, ebx
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x43d4a8]
mov ecx, ebx
mov edx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x40f6e0
mov dword [esp + 0x1c], eax
xor edi, edi
cmp ebx, edx
jbe 0x40f731
cmp byte [edx], 0
je 0x40f731
xor edi, edi
mov esi, dword [esp + 0x14]
nop
nop
nop
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
push ebx
push esi
call fcn.0040cca0
add esp, 0xc
mov ecx, edi
and ecx, 1
xor edi, 1
lea edi, [edi + ecx*2]
lea ecx, [esi + eax]
cmp ecx, ebx
jae 0x40f731
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x40f700
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x40f73f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
jae 0x41016a
mov edi, dword [esp + 0x2c]
cmp esi, ebx
jae 0x41016a
mov edi, dword [esp + 0x2c]
nop
nop
nop
cmp byte [esi], 0
je 0x41016a
lea eax, [esp + 0x50]
push eax
push ebx
push esi
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x10]
jae 0x410166
add esi, eax
cmp esi, ebx
mov eax, dword [esp + 0x1c]
jb 0x40f780
jmp 0x41016a
sete al
movzx eax, al
jmp dword [eax*4 + 0x43d300]
mov word [esp + 0x50], 0x91e0
lea eax, [esp + 0x52]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40f832
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
lea edx, [eax + 0x1c]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x5939d61c
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x74
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40f7f0
push 2
lea eax, [esp + 0x54]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d308]
mov word [esp + 0xbc], 0x1baf
lea eax, [esp + 0xbe]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 6
ja 0x40f8b9
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0xbc]
add eax, 0xddfe86fb
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x19
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0xbc], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 7
jb 0x40f880
push 5
lea eax, [esp + 0xc0]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d310]
mov dword [esp + 0x38], 0x19a6
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 3
ja 0x40f933
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x38]
add eax, 0xa8626fba
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x5e
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 4
jb 0x40f900
push 2
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d318]
mov word [esp + 4], 0xe104
lea eax, [esp + 6]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 7
ja 0x40f9b3
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 4]
add eax, 0xc7620ba8
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0xb8
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 8
jb 0x40f980
push 3
lea eax, [esp + 8]
push eax
push ebx
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d320]
jmp case.0x40f6ca.1
mov eax, dword [esp + 0x10]
mov word [esi], 0
lea edi, [eax - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x40f9f0
xor esi, esi
cmp eax, edi
jae 0x40fa41
cmp byte [eax], 0
je 0x40fa41
xor esi, esi
mov ebx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
push edi
push ebx
call fcn.0040cca0
add esp, 0xc
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
lea ecx, [ebx + eax]
cmp ecx, edi
jae 0x40fa41
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x40fa10
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x40fa4f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x10]
jae 0x40fabb
mov esi, dword [esp + 0x2c]
cmp ebx, edi
jae 0x40fabb
mov esi, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x40fabb
lea eax, [esp + 0x50]
push eax
push edi
push ebx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x1c]
jae 0x40fabb
add ebx, eax
cmp ebx, edi
jb 0x40fa90
mov word [esi], 0
mov word [esp + 0x50], 0x12d
mov byte [esp + 0x52], 0x8e
lea eax, [esp + 0x52]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40fb29
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xd21c7e62
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x16
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40faf0
lea edi, [esp + 0x50]
push edi
push dword [ebp + 8]
call fcn.00402cf0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov ebx, 0x51eb851f
jmp dword [ecx*4 + 0x43d438]
mov dword [esp + 0x4c], eax
push eax
call fcn.00402f20
add esp, 4
mov ecx, eax
mov dword [esp + 0x1c], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x40fb8a
mov esi, eax
test dl, dl
jne 0x40fb90
mov ecx, esi
push ecx
call fcn.00408f60
add esp, 4
mov edx, dword [esp + 0x1c]
mov dword [eax], edx
add eax, 4
xor ecx, ecx
test edx, edx
sete cl
jmp dword [ecx*4 + 0x43d440]
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
lea esi, [eax + ecx*4]
mov dword [eax], 0
mov dword [eax + 4], 0
mov byte [eax + 8], 0
lea ecx, [eax + 0xc]
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x43d448]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x43d448]
mov dword [esp + 0x14], eax
xor edi, edi
xor eax, eax
cmp edi, dword [esp + 0x1c]
setb al
jmp dword [eax*4 + 0x43d450]
mov eax, dword [case.0x40fb55.0]
mov ebx, 0x51eb851f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea edi, [esp + 0x50]
mov ecx, edi
push 2
call fcn.00409700
push dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0x34]
push dword [esp + 0x50]
push edi
call fcn.00413020
add esp, 0x14
mov ecx, edi
call fcn.00409fe0
movzx eax, al
jmp dword [eax*4 + 0x43d468]
mov eax, dword [esp + 0x54]
mov byte [esp + 0xe], 0
cmp eax, 0x3ff
ja 0x40fe4e
mov byte [esp + 0xd], 0x30
lea esi, [esp + 0xd]
jmp 0x40feaf
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402d50
add esp, 8
xor edx, edx
test eax, eax
setg dl
lea eax, [edi + edi*2]
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + eax*4]
push edx
push dword [esp + 0x14]
push esi
call fcn.00412ab0
mov eax, edi
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
xor eax, eax
cmp edi, dword [esp + 0x1c]
setb al
jmp dword [eax*4 + 0x43d450]
push edi
push dword [esp + 0x50]
call fcn.00402f30
add esp, 8
mov ebx, eax
mov word [esp + 0x50], 0xd9d7
mov byte [esp + 0x52], 0x4a
mov dword [esp + 0x53], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40fd49
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x3f4e6d73
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0xc1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40fd10
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x10], eax
mov word [esp + 0x50], 0xd5bf
mov byte [esp + 0x52], 0x5a
lea eax, [esp + 0x52]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x40fdc9
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0xa23f8e8f
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x35
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x40fd90
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov esi, eax
mov dword [esp + 0x50], 0x89343738
mov word [esp + 0x54], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x40fc90
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x46b80663
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x11
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x40fe00
jmp 0x40fc90
xor eax, eax
test esi, esi
sete al
mov ebx, esi
jmp dword [eax*4 + 0x43d470]
mov ecx, eax
shr ecx, 0xa
lea esi, [esp + 0xe]
cmp eax, 0x19000
jb 0x40fe99
nop
nop
mov eax, ecx
mul ebx
shr edx, 5
imul eax, edx, 0x64
mov edi, ecx
sub edi, eax
movzx eax, word [edi + edi + 0x43a318]
mov word [esi - 2], ax
add esi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x40fe60
cmp edx, 9
ja 0x40fea0
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [esi - 1], al
dec esi
jmp 0x40feaf
mov edx, ecx
cmp edx, 9
jbe 0x40fe8c
movzx eax, word [edx + edx + 0x43a318]
mov word [esi - 2], ax
add esi, 0xfffffffe
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x30], 0x2318e3db
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
cmp eax, 7
ja 0x40ff19
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xec7b39f8
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x28
mov ecx, dword [esp + 0x3c]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
cmp eax, 8
jb 0x40fee0
mov dword [esp + 0xbc], 0xd3d4a8a1
mov dword [esp + 0xc0], 0x6da5d1d1
mov dword [esp + 0xc4], 0xdda5aca2
mov dword [esp + 0xc8], 0xe96aa7a7
mov dword [esp + 0xcc], 0x9eeb57e5
mov dword [esp + 0xd0], 0x90529fe6
mov dword [esp + 0xd4], 0xeeefed94
mov dword [esp + 0xd8], 0x45ede493
mov dword [esp + 0xdc], 0xf48b84f4
mov dword [esp + 0xe0], 0xf142ff8f
mov dword [esp + 0xe4], 0x81f24ffd
mov dword [esp + 0xe8], 0xfaf74b87
mov dword [esp + 0xec], 0x83f98986
mov dword [esp + 0xf0], 0x8c8e33c4
mov dword [esp + 0xf4], 0x398afc80
mov dword [esp + 0xf8], 0x90f7f888
mov dword [esp + 0xfc], 0x9c269beb
mov dword [esp + 0x100], 0xd7ed99eb
mov dword [esp + 0x104], 0xf2c
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 0x4b
ja 0x410039
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0xbc]
add eax, 0x79c9ed91
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x2b
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0xbc], al
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp eax, 0x4c
jb 0x410000
lea eax, [0x441dd3]
nop
cmp byte [eax + 1], 0
lea eax, [eax + 1]
jne 0x410040
movzx ecx, byte [esp + 0xbc]
test cl, cl
je 0x410072
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax + edx], cl
movzx ecx, byte [esp + edx + 0xbd]
inc edx
test cl, cl
jne 0x410060
add eax, edx
mov byte [eax], 0
movzx ecx, byte [esi]
test cl, cl
je 0x41008b
inc esi
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x410080
mov byte [eax], 0
movzx ecx, byte [esp + 0x30]
test cl, cl
je 0x4100ab
lea edx, [esp + 0x31]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4100a0
mov byte [eax], 0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43d470]
lea esi, [ebx - 4]
mov eax, dword [ebx - 4]
lea ecx, [eax + eax*2]
lea edi, [ebx + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43d478]
jmp dword [0x43d488]
push esi
call fcn.00408f70
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408f70
add esp, 4
jmp dword [0x43d494]
jmp dword [0x43d498]
push dword [esp + 0x2c]
call fcn.00408f70
add esp, 4
mov esi, dword [esp + 0x48]
jmp dword [0x43d4a0]
add edi, 0xfffffff4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x43d480]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x410141
push eax
call fcn.00408f70
add esp, 4
mov eax, dword [edi - 8]
test eax, eax
je 0x410120
push eax
call fcn.00408f70
add esp, 4
jmp 0x410120
mov esi, dword [esp + 0x48]
jmp dword [0x43d4a0]
push dword [esp + 0x44]
jmp 0x410710
mov eax, dword [esp + 0x1c]
mov word [edi], 0
xor esi, esi
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, 2
cmp byte [eax + esi], 0
lea esi, [esi + 1]
jne 0x410180
lea eax, [edi + 2]
test esi, esi
jns 0x410198
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
add edi, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
cmp eax, edi
mov ecx, dword [esp + 0x1c]
jae 0x410215
lea ebx, [ecx + esi]
dec ebx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
cmp ecx, ebx
jae 0x410215
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x410215
lea eax, [esp + 0x50]
push eax
push ebx
push ecx
mov esi, ecx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov edx, dword [esp + 0x10]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x10], edx
cmp edx, edi
jae 0x410215
add esi, eax
cmp esi, ebx
mov ecx, esi
jb 0x4101e0
mov eax, dword [esp + 0x10]
mov word [eax], 0
mov word [esp + 0x50], 0x4155
mov byte [esp + 0x52], 0xce
lea eax, [esp + 0x52]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
jmp dword [0x43d4b0]
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x410289
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x10f00db2
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x86
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x410250
lea eax, [esp + 0x50]
push eax
push dword [ebp + 8]
call fcn.00402cf0
add esp, 8
jmp case.0x40f6ca.2
lea eax, [esp + 0x50]
push eax
push dword [ebp + 8]
call fcn.00402cf0
add esp, 8
jmp dword [0x43d4bc]
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x4102a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x10f00db2
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x86
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x4102d0
jmp 0x4102a0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov dword [esp + 0x14], 0
jmp dword [ecx*4 + 0x43d4c0]
mov dword [esp + 0x44], eax
push eax
call fcn.00402f20
add esp, 4
mov ecx, eax
mov dword [esp + 0x14], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x410351
mov esi, eax
test dl, dl
jne 0x410357
mov ecx, esi
push ecx
call fcn.00408f60
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [eax], edx
add eax, 4
xor ecx, ecx
test edx, edx
sete cl
jmp dword [ecx*4 + 0x43d4c8]
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ecx*2]
lea esi, [eax + ecx*4]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea ecx, [eax + 0xc]
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x43d4d0]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x43d4d0]
mov dword [esp + 0x4c], eax
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x43d4d8]
mov eax, dword [case.0x40f6ca.6]
mov ebx, dword [esp + 0x4c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea esi, [esp + 0x50]
mov ecx, esi
push 3
call fcn.00409700
push dword [esp + 0x14]
push ebx
push dword [esp + 0x30]
push dword [esp + 0x38]
push esi
call fcn.00415490
add esp, 0x14
mov ecx, esi
call fcn.00409fe0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43d4f0]
lea esi, [ebx - 4]
mov eax, dword [ebx - 4]
lea ecx, [eax + eax*2]
lea edi, [ebx + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43d4f8]
mov word [ecx], 0
mov esi, dword [esp + 0x1c]
mov eax, esi
and eax, 1
xor esi, 1
lea esi, [esi + eax*2]
xor eax, eax
cmp esi, dword [esp + 0x14]
setb al
jmp dword [eax*4 + 0x43d4d8]
push esi
push dword [esp + 0x48]
call fcn.00402f30
add esp, 8
mov ebx, eax
mov word [esp + 0x50], 0x7b65
mov byte [esp + 0x52], 0xd6
lea eax, [esp + 0x52]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x410504
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
mov edx, eax
and edx, 0x2fcbf3ae
xor eax, 0x2fcbf3ae
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x9a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x4104c0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov edi, eax
mov word [esp + 0x50], 0xb3d
mov byte [esp + 0x52], 0x92
lea eax, [esp + 0x52]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x410579
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
add eax, 0x2cd3b124
xor eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xbc]
add al, 0x4c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x410540
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x10], eax
mov word [esp + 0x50], 0xb5a5
mov byte [esp + 0x52], 0xd6
lea eax, [esp + 0x52]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x410604
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x50]
lea edx, [eax + ecx]
add eax, 0x4e
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xeba9804e
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0xbc]
add al, 0x7a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x50], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x4105c0
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.00402c20
add esp, 8
mov dword [esp + 0x1c], esi
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0x4c]
mov dword [edx + ecx*4], 0
mov dword [edx + ecx*4 + 4], edi
lea ebx, [edx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
xor edi, edi
mov esi, 0xfffffffe
mov eax, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
add esi, 2
cmp byte [eax + edi], 0
lea edi, [edi + 1]
jne 0x410640
test edi, edi
jns 0x410660
mov eax, 0xffffffff
jmp 0x410663
lea eax, [esi + 2]
push eax
call fcn.00408f60
add esp, 4
mov ecx, eax
mov dword [ebx], eax
mov eax, dword [esp + 0x10]
lea ebx, [eax + edi]
dec ebx
mov dword [esp + 0x50], 0
cmp ebx, eax
jbe 0x410460
add esi, ecx
cmp ecx, esi
jae 0x410460
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
je 0x410460
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x50]
push ecx
push ebx
push eax
mov edi, eax
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov edx, dword [esp + 0x10]
mov word [edx], cx
mov ecx, dword [esp + 0x10]
add ecx, 2
cmp ecx, esi
jae 0x410460
add edi, eax
cmp edi, ebx
mov eax, edi
jb 0x4106a0
jmp 0x410460
jmp dword [0x43d518]
push dword [esp + 0x2c]
call fcn.00408f70
add esp, 4
mov esi, dword [esp + 0x48]
jmp dword [0x43d530]
mov esi, dword [esp + 0x48]
jmp dword [0x43d530]
push dword [esp + 0x28]
call fcn.00408f70
add esp, 4
jmp case.0x410be7.49
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
mov esi, dword [esp + 0x48]
je case.default.0x410750
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 0x2b
push ecx
push 5
push dword [0x442de8]
push edx
call fcn.00435090
add esp, 0x20
xor ecx, ecx
cmp eax, 0xc0000004
sete cl
jmp dword [ecx*4 + 0x43d3b0]
mov eax, dword [esp + 0x3c]
add eax, 2
push eax
call fcn.00433110
add esp, 4
mov dword [esp + 0x108], eax
mov esi, dword [esp + 0x3c]
add esi, 2
jmp dword [0x43d3b8]
movzx edx, word [ecx]
xor eax, eax
test dx, dx
setne al
mov ebx, esi
jmp dword [eax*4 + 0x43d3e8]
xor eax, eax
cmp dx, 0x5c
sete al
mov ebx, ecx
jmp dword [eax*4 + 0x43d3f0]
add ecx, 0xfffffffe
xor edx, edx
cmp ecx, edi
setae dl
mov ebx, esi
jmp dword [edx*4 + 0x43d3e0]
mov esi, ebx
mov dword [esp + 0x28], edi
sub esi, edi
sar esi, 1
mov ecx, dword [esp + 0x14]
add ecx, esi
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x4107d0
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov edi, eax
mov dword [esp + 0x10], eax
cmp ebx, dword [esp + 0x28]
je 0x41088f
mov eax, dword [esp + 0x108]
mov eax, dword [eax + 4]
lea ecx, [esi - 1]
mov edx, esi
and edx, 3
je 0x410834
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], ecx
xor ebx, ebx
mov edi, dword [esp + 0x10]
movzx ecx, word [eax]
mov esi, edx
xor edx, edx
test cx, cx
setne dl
lea eax, [eax + edx*2]
mov edx, esi
mov word [edi], cx
add edi, 2
inc ebx
cmp esi, ebx
jne 0x41080b
mov esi, dword [esp + 0x28]
sub esi, ebx
mov ecx, dword [esp + 0x14]
jmp 0x410838
mov edi, dword [esp + 0x10]
cmp ecx, 3
jb 0x41088f
movzx ecx, word [eax]
xor edx, edx
test cx, cx
setne dl
mov word [edi], cx
lea ecx, [eax + edx*2]
movzx eax, word [eax + edx*2]
xor edx, edx
test ax, ax
setne dl
mov word [edi + 2], ax
lea eax, [ecx + edx*2]
movzx ecx, word [ecx + edx*2]
xor edx, edx
test cx, cx
setne dl
mov word [edi + 4], cx
lea ecx, [eax + edx*2]
movzx edx, word [eax + edx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [ecx + eax*2]
mov word [edi + 6], dx
add edi, 8
add esi, 0xfffffffc
jne 0x41083d
mov edx, dword [esp + 0x1c]
movzx eax, word [edx]
test ax, ax
je 0x4108c0
mov ecx, edx
add ecx, 2
mov esi, dword [esp + 0x10]
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4108a4
mov word [edi], 0
jmp dword [0x43d3f8]
mov esi, dword [esp + 0x10]
mov word [edi], 0
jmp dword [0x43d3f8]
jmp dword [0x43d368]
mov dword [esp + 0x50], 0
lea ecx, [eax + edi*2]
add ecx, 0xfffffffe
mov edi, eax
mov dword [esp + 0x1c], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x14]
jae 0x41094f
mov edi, eax
cmp ebx, dword [esp + 0x10]
jae 0x41094f
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x41094f
lea eax, [esp + 0x50]
push eax
mov esi, dword [esp + 0x14]
push esi
push ebx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x1c]
jae 0x41094f
add ebx, eax
cmp ebx, esi
jb 0x410920
mov word [edi], 0
lea ecx, [esp + 0x50]
push 1
call fcn.00409700
xor edi, edi
mov esi, dword [esp + 0x48]
jmp 0x410975
mov edi, dword [esp + 0x1c]
inc edi
mov ebx, dword [esp + 0x4c]
push ebx
call fcn.00402f20
add esp, 4
xor ecx, ecx
cmp edi, eax
setb cl
jmp dword [ecx*4 + 0x43d338]
mov dword [esp + 0x1c], edi
push edi
push ebx
call fcn.00402f00
add esp, 8
push eax
call fcn.00402c60
add esp, 4
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43d348]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
inc eax
cmp byte [edi], 0
jne 0x4109c0
mov esi, edi
sub esi, ebx
mov eax, esi
inc eax
jns 0x4109e0
mov eax, 0xffffffff
jmp 0x4109e7
lea eax, [esi*2 + 2]
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0xbc], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
jae 0x410a60
mov esi, dword [esp + 0x14]
cmp ebx, edi
jae 0x410a60
mov esi, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x410a60
lea eax, [esp + 0xbc]
push eax
push edi
push ebx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0xbc]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x10]
jae 0x410a60
add ebx, eax
cmp ebx, edi
jb 0x410a20
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0x10c], 0
setg al
mov word [esi], 0
push 0
push eax
push dword [esp + 0x30]
push dword [esp + 0x128]
mov ebx, dword [esp + 0x24]
push ebx
push dword [esp + 0x58]
push dword [esp + 0x44]
lea edi, [esp + 0x6c]
push edi
call fcn.004178e0
add esp, 0x20
mov esi, dword [esp + 0x48]
jmp dword [0x43d350]
jmp dword [0x43d340]
push dword [esp + 0x2c]
call fcn.00408f70
add esp, 4
jmp dword [0x43d368]
xor edi, edi
cmp ecx, esi
jae 0x410b11
cmp byte [ecx], 0
je 0x410b11
xor edi, edi
mov ebx, dword [esp + 0x14]
nop
nop
nop
nop
nop
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
push esi
push ebx
call fcn.0040cca0
add esp, 0xc
mov ecx, edi
and ecx, 1
xor edi, 1
lea edi, [edi + ecx*2]
lea ecx, [ebx + eax]
cmp ecx, esi
jae 0x410b11
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x410ae0
inc edi
lea eax, [edi + edi]
test edi, edi
jns 0x410b1e
mov eax, 0xffffffff
mov dword [esp + 0x10], esi
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x2c], eax
jmp 0x4108f3
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43d3d8]
mov ecx, dword [esp + 0x28]
mov eax, ecx
mov esi, eax
inc eax
cmp byte [esi], 0
jne 0x410b46
mov edi, esi
sub edi, ecx
mov eax, edi
inc eax
mov dword [esp + 0x14], eax
lea eax, [edi + edi + 2]
jns 0x410b64
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x50], 0
lea ecx, [eax + edi*2]
mov ebx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
cmp eax, ecx
mov edi, dword [esp + 0x28]
jae 0x410bc1
mov ebx, dword [esp + 0x1c]
cmp edi, esi
jae 0x410bc1
mov ebx, dword [esp + 0x1c]
cmp byte [edi], 0
je 0x410bc1
lea eax, [esp + 0x50]
push eax
push esi
push edi
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x50]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0x10]
jae 0x410bc1
add edi, eax
cmp edi, esi
jb 0x410b96
mov word [ebx], 0
mov eax, dword [esp + 0x108]
mov edi, dword [eax + 4]
movzx eax, word [eax]
and eax, 0xfffffffe
lea esi, [edi + eax]
add esi, 0xfffffffe
xor eax, eax
cmp esi, edi
setae al
mov ecx, esi
mov ebx, esi
jmp dword [eax*4 + 0x43d3e0]
jmp dword [0x43d3d4]
lea eax, [esi + 1]
cmp byte [esi], 0
je 0x410aca
mov esi, eax
jmp 0x410bf4
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x50], 0xe0e7e6e5
mov word [esp + 0x54], 0
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x30]
cmp ecx, 5
ja 0x410c60
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
movzx edx, byte [esp + edx + 0x50]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x43
mov edx, dword [esp + 0x30]
mov byte [esp + edx + 0x50], cl
inc dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
cmp ecx, 6
jb 0x410c2b
mov ecx, dword [0x442de0]
test ecx, ecx
je case.0x410750.2
mov edx, dword [esp + 0x50]
xor edi, edi
mov ebx, dword [0x442de4]
cmp dword [ebx + edi*8], 0x1b788dcf
je 0x410c86
inc edi
cmp ecx, edi
jne 0x410c76
jmp case.0x410750.2
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x410750.2
push 0
push esi
push dword [esp + 0x110]
push 0x2b
push eax
push 5
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x20
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x50], 0xe0e7e6e5
mov word [esp + 0x54], 0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
cmp eax, 5
ja 0x410d06
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
movzx edx, byte [esp + edx + 0x50]
add eax, 0x11c40b59
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x43
mov edx, dword [esp + 0x30]
mov byte [esp + edx + 0x50], al
inc dword [esp + 0x30]
mov eax, dword [esp + 0x30]
cmp eax, 6
jb 0x410cd3
mov eax, dword [esp + 0x50]
mov edx, dword [0x442de0]
test edx, edx
je 0x410d34
xor edi, edi
mov ebx, dword [0x442de4]
cmp dword [ebx + edi*8], 0x1b788dcf
je 0x410d2c
inc edi
cmp edx, edi
jne 0x410d1c
jmp 0x410d34
mov edx, dword [ebx + edi*8 + 4]
cmp edx, eax
jne 0x410d3a
jmp dword [0x43d3c0]
push 0
push esi
push dword [esp + 0x110]
push 0x2b
push ecx
push 5
push dword [0x442de8]
push edx
call fcn.00435090
add esp, 0x20
jmp dword [0x43d3c0]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [esp + 4]
mov dword [esp + 0x2c], esi
jmp 0x410db1
inc ebx
push esi
call fcn.00402f20
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
jmp dword [ecx*4 + 0x43d540]
push ebx
push esi
call fcn.00402f30
add esp, 8
mov dword [esp + 0x28], eax
mov dword [esp + 4], 0x1995
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 3
ja 0x410e29
nop
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
movzx ecx, byte [esp + ecx + 4]
add eax, 0x51049706
xor eax, ecx
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x104]
add al, 0xe2
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x40]
mov eax, dword [esp + 0x40]
cmp eax, 4
jb 0x410df0
push 2
push edi
push dword [esp + 0x30]
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d558]
mov word [esp + 0x104], 0xabba
mov byte [esp + 0x106], 0x26
mov word [esp + 0x107], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x410ebf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x104]
add eax, 0x6c2bae39
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0xe3
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x104], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
jb 0x410e80
push 3
lea eax, [esp + 0x108]
push eax
push dword [esp + 0x30]
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d560]
mov word [esp + 0x40], 0x1bb7
lea eax, [esp + 0x42]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
ja 0x410f49
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x3ab1d9fb
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x19
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 8
jb 0x410f10
push 3
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x30]
call fcn.00402eb0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43d568]
mov word [esp + 0x104], 0x119d
lea eax, [esp + 0x106]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 6
ja 0x410fe8
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x104]
add eax, 0x7197e37c
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x94
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x104], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 7
jb 0x410fa0
lea eax, [esp + 0x104]
push eax
push dword [esp + 0x2c]
call fcn.00402c20
add esp, 8
mov edi, eax
mov word [esp + 0x104], 0xadb2
mov byte [esp + 0x106], 0x1e
lea eax, [esp + 0x106]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 7
ja 0x411088
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x104]
add eax, 0x7fd432fa
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x1e
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x104], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 8
jb 0x411040
mov dword [esp + 0x34], ebx
lea eax, [esp + 0x104]
push eax
push dword [esp + 0x2c]
call fcn.00402c80
add esp, 8
mov word [esp + 0x104], 0x49ed
lea eax, [esp + 0x106]
mov byte [eax + 2], 0
mov word [eax], 0
fnstcw word [esp + 0xa2]
movzx eax, word [esp + 0xa2]
or eax, 0xc00
mov word [esp + 0xae], ax
fldcw word [esp + 0xae]
fistp dword [esp + 0x100]
fldcw word [esp + 0xa2]
mov eax, dword [esp + 0x100]
mov dword [esp + 0x30], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 4
ja 0x411165
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x104]
lea edx, [eax + ecx]
add eax, 0xf2
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xdb0cd7f2
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x40]
add al, 0x46
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x104], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 5
jb 0x411110
lea eax, [esp + 0x104]
push eax
push dword [esp + 0x2c]
call fcn.00402c80
add esp, 8
lea ebx, [edi - 1]
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x411180
fnstcw word [esp + 0xa0]
movzx eax, word [esp + 0xa0]
or eax, 0xc00
mov word [esp + 0xac], ax
fldcw word [esp + 0xac]
fistp dword [esp + 0xfc]
fldcw word [esp + 0xa0]
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], 0
lea eax, [esp + 0x104]
cmp edi, ebx
jae 0x41122a
xor esi, esi
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x41121e
lea eax, [esp + 0x40]
push eax
push ebx
push edi
call fcn.0040cca0
add esp, 0xc
lea ecx, [esi + 2]
movzx edx, word [esp + 0x40]
mov word [esp + esi + 0x104], dx
cmp esi, 0x7fb
ja 0x411214
add edi, eax
mov esi, ecx
cmp edi, ebx
jb 0x4111e0
lea eax, [esp + ecx]
add eax, 0x104
jmp 0x411226
lea eax, [esp + esi]
add eax, 0x104
mov esi, dword [esp + 0x2c]
mov word [eax], 0
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x10c]
push eax
call fcn.0040b2e0
add esp, 0xc
movzx eax, al
mov ebx, dword [esp + 0x34]
lea edi, [esp + 4]
jmp dword [eax*4 + 0x43d570]
xor eax, eax
mov ecx, dword [esp + 0x24]
test ecx, ecx
sete al
mov dword [esp + 0xf8], eax
jmp dword [eax*4 + 0x43d578]
xor ecx, 1
mov edx, ecx
mov ecx, dword [esp + 0x30]
xor ecx, 2
xor eax, eax
or ecx, edx
sete al
mov dword [esp + 0x24], 0
xor edx, edx
jmp dword [eax*4 + 0x43d620]
mov edi, dword [esp + 0x38]
movzx eax, byte [edi]
xor esi, esi
test al, al
je 0x4112c1
lea ecx, [edi + 1]
xor esi, esi
nop
nop
nop
shr al, 7
movzx eax, al
add esi, eax
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4112b0
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x4112cf
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x40], 0
lea ecx, [eax + esi*2]
mov esi, eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
mov dword [esp + 0xc], eax
jae 0x41133b
mov esi, eax
test ebx, ebx
jle 0x41133b
add ebx, edi
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x41133b
lea eax, [esp + 0x40]
push eax
push ebx
push edi
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x40]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x28]
jae 0x41133b
add edi, eax
cmp edi, ebx
jb 0x411310
mov word [esi], 0
mov ecx, dword [esp + 0xa8]
lea eax, [ecx*2 + 0x32]
add ecx, 0x19
jns 0x411358
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], 0x17851988
mov dword [esp + 0x44], 0x138f159f
mov dword [esp + 0x48], 0xf81119e
mov dword [esp + 0x4c], 0xb970d94
mov dword [esp + 0x50], 0x792099c
mov dword [esp + 0x54], 0x3570524
mov dword [esp + 0x58], 0x3fb6019d
mov dword [esp + 0x5c], 0x3ba53da1
mov dword [esp + 0x60], 0x37a83918
mov dword [esp + 0x64], 0x33a235bd
mov dword [esp + 0x68], 0x2fa13151
mov dword [esp + 0x6c], 0x2b0a2da3
mov word [esp + 0x70], 0x2928
lea eax, [esp + 0x42]
mov byte [eax + 0x32], 0
mov word [eax + 0x30], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x34
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
lea edi, [esp + 4]
ja 0x411439
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x51e17586
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x62
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x35
jb 0x411400
movzx ecx, word [esp + 0x40]
mov eax, dword [esp + 0x24]
test cx, cx
je 0x411461
lea edx, [esp + 0x42]
mov eax, dword [esp + 0x24]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411450
mov word [eax], 0
mov edx, dword [esp + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x411491
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411480
mov word [eax], 0
jmp dword [0x43d628]
jmp dword [0x43d634]
mov word [esp + 0x40], 0x9968
lea eax, [esp + 0x42]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x411509
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x1d51f45a
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x3e
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 5
jb 0x4114d0
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x2c]
call fcn.00402c20
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d580]
mov dword [esp + 0x40], 0x94141918
lea eax, [esp + 0x42]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 6
ja 0x411589
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x42734f46
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0xa2
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 7
jb 0x411550
mov eax, dword [esp + 0x40]
push dword [eax + 0x14]
call fcn.00409630
add esp, 4
call fcn.00409640
mov edi, eax
and edi, 0xf
or edi, 0x10
xor esi, esi
xor eax, eax
cmp esi, edi
setb al
jmp dword [eax*4 + 0x43d590]
mov word [esp + esi*2 + 0xb0], 0
mov dword [esp + 0x10], 0x71ba0f6b
mov dword [esp + 0x14], 0x753d7337
mov dword [esp + 0x18], 0x791177c4
mov dword [esp + 0x1c], 0x7d7a7bc4
lea eax, [esp + 0x12]
mov byte [eax + 0x10], 0
mov word [eax + 0xe], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x12
ja 0x411633
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xf0c3dabd
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x4f
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x13
jb 0x411600
movzx eax, word [esp + 0x10]
lea edx, [esp + 0x40]
mov esi, edx
test ax, ax
je 0x411661
lea ecx, [esp + 0x12]
mov esi, edx
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x411650
mov word [esi], 0
movzx eax, word [esp + 0xb0]
test ax, ax
je 0x41186d
lea ecx, [esp + 0xb2]
mov ebx, dword [esp + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x411690
jmp 0x411871
inc esi
xor eax, eax
cmp esi, edi
setb al
jmp dword [eax*4 + 0x43d590]
mov ebx, 0x38e38e39
jmp dword [0x43d5a4]
call fcn.00409640
mov ecx, eax
imul ebx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx eax, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov word [esp + esi*2 + 0xb0], ax
call fcn.00409640
mov ecx, eax
imul ebx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx eax, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov word [esp + esi*2 + 0xb0], ax
jmp dword [0x43d5a8]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x411730
xor esi, esi
cmp ebx, eax
mov dword [esp + 0x24], eax
jbe 0x411781
cmp byte [eax], 0
je 0x411781
xor esi, esi
mov edi, dword [esp + 0x24]
nop
nop
nop
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
push ebx
push edi
call fcn.0040cca0
add esp, 0xc
mov ecx, esi
and ecx, 1
xor esi, 1
lea esi, [esi + ecx*2]
lea ecx, [edi + eax]
cmp ecx, ebx
jae 0x411781
cmp byte [edi + eax], 0
mov edi, ecx
jne 0x411750
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x41178f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x40], 0
lea ecx, [eax + esi*2]
mov edx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc], ecx
cmp eax, ecx
mov edi, dword [esp + 0x24]
jae 0x411803
mov edx, dword [esp + 0x3c]
cmp edi, ebx
jae 0x411803
mov edx, dword [esp + 0x3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x411803
lea eax, [esp + 0x40]
push eax
push ebx
push edi
mov dword [esp + 0x30], edx
call fcn.0040cca0
mov edx, dword [esp + 0x30]
add esp, 0xc
movzx ecx, word [esp + 0x40]
mov word [edx], cx
add edx, 2
cmp edx, dword [esp + 0xc]
jae 0x411803
add edi, eax
cmp edi, ebx
jb 0x4117d0
mov word [edx], 0
lea eax, [esp + 0x40]
push eax
push 0
push 0
push esi
mov ebx, dword [esp + 0x4c]
push ebx
push 0
call dword [0x442ddc]
mov edi, dword [esp + 0x40]
lea eax, [edi + edi]
test edi, edi
jns 0x41182f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov ecx, eax
lea eax, [esp + 0x40]
push eax
push edi
mov edi, ecx
push ecx
push esi
push ebx
push 0
call dword [0x442ddc]
mov eax, ebx
mov ebx, dword [esp + 0x34]
jmp dword [0x43d588]
push eax
call fcn.00408f70
add esp, 4
mov esi, dword [esp + 0x2c]
mov edx, edi
jmp 0x411b3a
mov ebx, dword [esp + 0x34]
mov word [esi], 0
sub esi, edx
sar esi, 1
lea eax, [esp + 0xf0]
push eax
push 0
push 0
push esi
push edx
push 0
call dword [0x442ddc]
mov edi, dword [esp + 0xf0]
mov eax, edi
add eax, 4
lea eax, [edi + edi + 8]
jns 0x4118a7
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov ecx, eax
lea eax, [esp + 0xf0]
push eax
push edi
mov edi, ecx
push ecx
push esi
lea eax, [esp + 0x50]
push eax
push 0
call dword [0x442ddc]
xor eax, eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x43d598]
xor eax, eax
cmp ecx, 1
sete al
mov esi, dword [esp + 0x2c]
jmp dword [eax*4 + 0x43d5b0]
xor eax, eax
cmp ecx, 2
sete al
mov edx, edi
jmp dword [eax*4 + 0x43d5b8]
jmp 0x411b3a
mov dword [esp + 0x10], 0x73ef7126
mov dword [esp + 0x14], 0x6ff36de4
mov word [esp + 0x18], 0x6968
lea eax, [esp + 0x12]
mov byte [eax + 0xa], 0
mov word [eax + 8], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xc
mov esi, dword [esp + 0x2c]
ja 0x411983
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x94dca26c
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xe4
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0xd
jb 0x411950
mov edx, edi
mov eax, edi
add eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [eax + 2], 0
lea eax, [eax + 2]
jne 0x411990
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x411b35
xor edx, edx
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [esp + edx + 0x12]
add edx, 2
test cx, cx
jne 0x4119b0
jmp 0x411b31
mov dword [esp + 0x10], 0x49d64b1e
mov dword [esp + 0x14], 0x45d247dc
mov word [esp + 0x18], 0x4344
lea eax, [esp + 0x12]
mov word [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xf
mov edx, edi
ja 0x411a43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x2ca14273
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xc1
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x10
jb 0x411a10
mov eax, edx
add eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + 2], 0
lea eax, [eax + 2]
jne 0x411a50
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x411b35
xor edx, edx
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [esp + edx + 0x12]
add edx, 2
test cx, cx
jne 0x411a70
jmp 0x411b31
mov dword [esp + 0x10], 0xe97aebb6
mov dword [esp + 0x14], 0xedb9ef7d
mov word [esp + 0x18], 0xd3ec
lea eax, [esp + 0x12]
mov byte [eax + 0xa], 0
mov word [eax + 8], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xc
ja 0x411af3
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x98ec24d7
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xcd
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0xd
jb 0x411ac0
mov eax, edx
add eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + 2], 0
lea eax, [eax + 2]
jne 0x411b00
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x411b35
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [esp + edx + 0x12]
add edx, 2
test cx, cx
jne 0x411b20
add eax, edx
mov edx, edi
mov word [eax], 0
push 0x80
push 0x60
push 5
push 0
push 0x100002
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x24], edx
push edx
call fcn.00436fc0
add esp, 0x1c
mov edi, eax
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43d5c0]
jmp 0x411c42
push 0
push dword [esp + 0xac]
push dword [esp + 0x40]
push dword [esp + 0x14]
call fcn.00437800
add esp, 0x10
mov edi, eax
mov eax, dword [esp + 8]
mov dword [esp + 0x40], 0xe0e7e6e5
mov word [esp + 0x44], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 5
ja 0x411beb
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x40]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0xb0]
add cl, 0x43
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 6
jb 0x411bb0
mov ecx, dword [0x442de0]
test ecx, ecx
je case.default.0x411c65
mov edx, dword [esp + 0x40]
xor esi, esi
mov ebx, dword [0x442de4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x411c20
inc esi
cmp ecx, esi
jne 0x411c10
jmp case.default.0x411c65
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x411c65
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
push dword [esp + 0x38]
call fcn.00433180
add esp, 4
mov dword [esp + 0x38], 0
not edi
shr edi, 0x1f
mov dword [esp + 0x24], 0
xor eax, eax
jmp dword [edi*4 + 0x43d5c8]
lea edi, [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [eax*4 + 0x43d618]
xor eax, eax
mov edx, dword [esp + 0x30]
cmp edx, 1
sete al
jmp dword [eax*4 + 0x43d5e0]
xor ecx, ecx
cmp edx, 2
sete cl
mov eax, 1
mov dword [esp + 0x24], 0
jmp dword [ecx*4 + 0x43d610]
mov edx, dword [esp + 0xc]
mov ecx, edx
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x411cb0
sub eax, edx
lea ecx, [eax + 0x3c]
cmp eax, 0xffffffc3
jge 0x411cca
mov ecx, 0xffffffff
push ecx
call fcn.00408f60
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0xb0], 0xf0e092e
mov dword [esp + 0xb4], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 7
ja 0x411d39
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0xb0]
add eax, 0xf5bbc882
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x76
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0xb0], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 8
jb 0x411d00
mov dword [esp + 0x40], 0x7fed79e8
mov dword [esp + 0x44], 0x63077de7
mov dword [esp + 0x48], 0x67f161f6
mov dword [esp + 0x4c], 0x6b0f650c
mov dword [esp + 0x50], 0x6f026904
mov dword [esp + 0x54], 0x93bf6d4c
mov dword [esp + 0x58], 0x970e91f5
mov dword [esp + 0x5c], 0x9bfd95f1
mov dword [esp + 0x60], 0x9ff899b8
mov dword [esp + 0x64], 0x83129d05
mov dword [esp + 0x68], 0x871181e1
mov dword [esp + 0x6c], 0x8baa8513
mov dword [esp + 0x70], 0x8fe489a5
mov dword [esp + 0x74], 0xb3948dac
mov word [esp + 0x78], 0xb1b0
lea eax, [esp + 0x42]
mov word [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x3f
lea edi, [esp + 4]
ja 0x411e13
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x805468ea
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x6e
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x40
jb 0x411de0
movzx ecx, word [esp + 0x40]
mov eax, dword [esp + 0x24]
test cx, cx
je 0x411e41
lea edx, [esp + 0x42]
mov eax, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411e30
mov word [eax], 0
mov edx, dword [esp + 0xc]
movzx ecx, word [edx]
test cx, cx
je 0x411e71
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411e60
mov word [eax], 0
movzx ecx, word [esp + 0xb0]
test cx, cx
je 0x411ea1
lea edx, [esp + 0xb2]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x411e90
mov word [eax], 0
mov eax, 1
mov edx, dword [esp + 0xc]
jmp dword [eax*4 + 0x43d618]
mov dword [esp + 0x10], 0xefbf2
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x411f22
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x60040c2
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x36
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x411ee0
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x2c]
call fcn.00402c20
add esp, 8
mov dword [esp + 0x3c], eax
mov word [esp + 0x40], 0x5fa9
mov byte [esp + 0x42], 0xce
lea eax, [esp + 0x42]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 5
lea edx, [esp + 0x40]
ja 0x411fa9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
add eax, 0x399d48d2
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0xe6
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 6
jb 0x411f70
push edx
push dword [esp + 0x2c]
call fcn.00402c20
add esp, 8
mov edx, eax
mov eax, 0xfffffffe
mov ecx, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne case.default.0x411ff2
mov ecx, eax
sar ecx, 1
xor ebx, ebx
mov esi, dword [esp + 0x3c]
test esi, esi
setne bl
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], ebx
jmp dword [ebx*4 + 0x43d5e8]
xor esi, esi
xor ebx, ebx
test edx, edx
setne bl
mov dword [esp + 0xa4], ebx
jmp dword [ebx*4 + 0x43d5f0]
mov edi, edx
inc edx
cmp byte [edi], 0
jne case.0x411c65.11
sub edi, dword [esp + 0x30]
inc edi
jmp 0x412058
mov edx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
inc edx
cmp byte [esi], 0
jne case.default.0x41204f
sub esi, dword [esp + 0x3c]
inc esi
xor ebx, ebx
mov edx, dword [esp + 0x30]
test edx, edx
setne bl
mov dword [esp + 0xa4], ebx
jmp dword [ebx*4 + 0x43d5f0]
xor edi, edi
and eax, 0x12
xor ecx, 9
add ecx, eax
add ecx, esi
lea edx, [edi + ecx]
inc edx
mov dword [esp + 0xf4], edi
add ecx, edi
lea eax, [ecx*2 + 2]
test edx, edx
jns 0x41207f
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov edi, eax
mov dword [esp + 0x40], 0xd1b9cfbe
mov dword [esp + 0x44], 0xd5b6d3be
mov dword [esp + 0x48], 0xd9bad7b8
mov dword [esp + 0x4c], 0xdde8dbed
mov word [esp + 0x50], 0xdfdc
lea eax, [esp + 0x42]
mov word [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x17
ja 0x412126
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax + ecx]
add edx, 0x4ece90cd
add eax, 0x4ece90cd
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0xb0]
dec al
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x18
jb 0x4120e0
movzx eax, word [esp + 0x40]
mov ebx, edi
test ax, ax
je 0x412151
lea ecx, [esp + 0x42]
mov ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x412140
mov dword [ebx], 0x220020
add ebx, 4
mov edx, dword [esp + 0xc]
movzx eax, word [edx]
test ax, ax
mov dword [esp + 0x24], edi
je 0x412181
lea ecx, [edx + 2]
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x412170
lea edi, [ebx + 2]
mov word [ebx], 0x22
jmp dword [0x43d5f8]
push edx
call fcn.00408f70
add esp, 4
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x43d600]
mov word [edi], 0x2c
mov edx, dword [esp + 0x3c]
lea edi, [edx - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x4121c0
lea eax, [ebx + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], 0
cmp esi, 2
jl 0x41227b
cmp edx, edi
jae 0x41227b
lea eax, [ebx + esi*2]
add eax, 2
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x34]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edx], 0
je 0x41227f
lea eax, [esp + 0x40]
push eax
push edi
push edx
mov esi, edx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x40]
mov edx, dword [esp + 0x28]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0xc]
jae 0x412346
add esi, eax
cmp esi, edi
mov ecx, dword [esp + 0x30]
mov edx, esi
jb 0x412200
jmp 0x41227f
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x43d600]
mov eax, 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], 0
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0xa4]
jmp dword [edx*4 + 0x43d608]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
mov word [edi], 0
mov eax, 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], 0
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xa4]
jmp dword [edx*4 + 0x43d608]
mov word [edi], 0x2c
lea ebx, [ecx - 1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x4122c0
lea esi, [edi + 2]
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0xf4]
cmp eax, 2
jl 0x41231f
cmp ecx, ebx
jae 0x41231f
lea eax, [edi + eax*2]
mov dword [esp + 0x28], eax
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x41231f
lea eax, [esp + 0x40]
push eax
push ebx
push ecx
mov edi, ecx
call fcn.0040cca0
add esp, 0xc
movzx ecx, word [esp + 0x40]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x28]
jae 0x41231f
add edi, eax
cmp edi, ebx
mov ecx, edi
jb 0x4122f0
mov word [esi], 0
xor edx, edx
mov dword [esp + 0x30], 0
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
lea edi, [esp + 4]
mov eax, 1
jmp dword [eax*4 + 0x43d618]
mov ecx, dword [esp + 0x30]
jmp 0x41227f
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x10], 0xe0e7e6e5
mov word [esp + 0x14], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 5
ja 0x4123b5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x43
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 6
jb 0x412380
mov ecx, dword [0x442de0]
test ecx, ecx
je case.0x411c65.56
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4123e0
inc esi
cmp ecx, esi
jne 0x4123d0
jmp case.0x411c65.56
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x411c65.56
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
mov eax, dword [case.0x411c65.38]
mov esi, dword [esp + 0x2c]
lea edi, [esp + 4]
mov edx, dword [esp + 0xc]
nop
nop
nop
nop
nop
jmp eax
mov esi, edx
mov edi, dword [esp + 0x24]
jmp dword [0x43d68c]
mov eax, dword [esp + 0xf8]
jmp dword [eax*4 + 0x43d680]
xor eax, eax
cmp ecx, 2
setl al
jmp dword [eax*4 + 0x43d658]
sete al
movzx eax, al
jmp dword [eax*4 + 0x43d660]
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0x44
push 0xc9be8534
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x44]
push ecx
push 0
push 0
push 0x8000000
push 0
push 0
push 0
push dword [esp + 0x44]
push 0
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d6a8]
push 0x46483752
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
push 0
push 0
push dword [esp + 0x40]
push 0x419660
push 0
push 0
call eax
mov edx, dword [esp + 0xc]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d6a0]
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0xb0], 0xb8797400
mov dword [esp + 0x40], 0xe0e7e6e5
mov word [esp + 0x44], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 5
ja 0x4125c5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x43
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 6
jb 0x412590
mov ecx, dword [0x442de0]
test ecx, ecx
je 0x412618
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e28bda7
je 0x4125f0
inc esi
cmp ecx, esi
jne 0x4125e0
jmp 0x412618
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x412618
lea edx, [esp + 0xb0]
push edx
push 0
push eax
push 3
push dword [0x442de8]
push ecx
mov esi, eax
call fcn.00435090
mov eax, esi
add esp, 0x18
mov dword [esp + 0x40], 0xe0e7e6e5
mov word [esp + 0x44], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 5
ja 0x412675
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x40]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x43
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 6
jb 0x412640
mov ecx, dword [0x442de0]
test ecx, ecx
je case.default.0x41272d
mov edx, dword [esp + 0x40]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4126a0
inc esi
cmp ecx, esi
jne 0x412690
jmp case.default.0x41272d
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x412704
mov eax, dword [esp + 0x38]
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x2c]
lea edi, [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x43d6d0]
push eax
call fcn.00433180
mov edx, dword [esp + 0x10]
add esp, 4
xor eax, eax
test edx, edx
sete al
jmp dword [eax*4 + 0x43d6d8]
xor eax, eax
cmp dword [esp + 0x24], 0
sete al
jmp dword [eax*4 + 0x43d6f0]
push dword [esp + 0x24]
call fcn.00408f70
add esp, 4
inc ebx
jmp 0x410db1
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
mov eax, dword [esp + 0x38]
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x2c]
lea edi, [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x43d6d0]
xor eax, eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
setle al
mov dword [esp + 0xc], edx
jmp dword [eax*4 + 0x43d650]
sete al
movzx eax, al
jmp dword [eax*4 + 0x43d668]
mov eax, dword [esp + 0x38]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d6d0]
xor eax, eax
test edx, edx
sete al
jmp dword [eax*4 + 0x43d6d8]
push edx
call fcn.00408f70
add esp, 4
xor eax, eax
cmp dword [esp + 0x24], 0
sete al
jmp dword [eax*4 + 0x43d6f0]
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0x44
push 0xc9be8534
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push esi
call eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0x44
push 0xc9be8534
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x44]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push esi
call eax
jmp dword [0x43d694]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43d698]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x10], 0xe0e7e6e5
mov word [esp + 0x14], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 5
ja 0x412985
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x10]
add ecx, 0x11c40b59
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x43
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 6
jb 0x412950
mov ecx, dword [0x442de0]
test ecx, ecx
je case.0x411c65.52
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4129b0
inc esi
cmp ecx, esi
jne 0x4129a0
jmp case.0x411c65.52
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4129d6
mov eax, dword [esp + 0x38]
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x2c]
lea edi, [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x43d6d0]
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
mov eax, dword [esp + 0x38]
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [esp + 0x2c]
lea edi, [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [ecx*4 + 0x43d6d0]
xor edx, edx
jmp dword [0x43d64c]
push dword [esp + 0xc]
call fcn.00408f70
add esp, 4
push dword [esp + 0xc]
call fcn.00408f70
add esp, 4
jmp dword [0x43d63c]
mov eax, dword [case.0x41047d.26]
nop
nop
nop
nop
nop
mov bl, 1
jmp eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add byte [eax], al
xchg ecx, eax
daa
inc ecx
add byte [eax], dl
and al, 0x41
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx - 0x2e], al
inc eax
add byte [ecx - 0x2e], bl
inc eax
add bh, bl
rol byte [eax], cl
jl 0x43d1fe
inc eax
add dh, ch
rol byte [eax], cl
sti
rol byte [eax], cl
mov ch, 0xd3
inc eax
add byte [ebx + edx*8 - 0x2c65ffc0], dl
inc eax
add byte [eax - 0x5fffbf2d], ah
rol dword [eax], cl
stosd dword es:[edi], eax
rol dword [eax], cl
mov ch, 0xd3
inc eax
add al, al
fild word [eax]
invalid
inc eax
add byte [ebx + 0x200040da], al
fild dword [eax]
hlt
fild word [eax]
jnp 0x43d252
inc eax
add al, dh
fild word [eax]
xchg ebx, eax
fadd qword [eax]
in eax, dx
fild word [eax]
cmp al, 0xdf
inc eax
add al, dh
fild word [eax]
invalid
jecxz 0x43d3f3
add byte [edi + 7], dl
inc ecx
add byte [esp + ecx + 0xc040041], ch
inc ecx
add dh, ch
or eax, dword [ecx]
add al, 0xc
inc ecx
add dh, ch
or eax, dword [ecx]
out dx, al
or eax, dword [ecx]
out dx, al
or eax, dword [ecx]
xor al, 0xb
inc ecx
add byte [eax + 0x400040e3], al
or eax, dword [ecx]
mov ah, 7
pop es
pop es
inc ecx
add byte [ebx + 7], bh
inc ecx
add byte [edi + eax + 0x78f0041], dh
inc ecx
add byte [ecx - 0x4bffbef9], ah
pop es
inc ecx
add byte [ebx - 0x1c52ffc0], ah
inc eax
add dh, bl
add byte [edi + eax - 0x1c5bffbf], dh
inc eax
add byte [ebp - 0x21ffbf1d], ch
jecxz 0x43d443
add byte [edi + 0x410040e1], cl
jecxz 0x43d44b
add byte [eax - 0x1e], dl
inc eax
add byte [edi - 0x1d], al
inc eax
add byte [ecx - 0x1d], bl
inc eax
add byte [edi - 0x1e], dh
inc eax
add byte [edx], dh
inc eax
add byte [ebx], dh
jecxz 0x43d463
add byte [edx], dh
inc eax
add byte [edi - 0x1d], bl
inc eax
add byte [esi - 0x1d], ch
inc eax
add dl, bl
hlt
add byte [edx], al
cld
inc eax
add al, ah
sti
inc eax
add byte [edx], al
cld
inc eax
add byte [eax], bl
cld
inc eax
add ch, dl
cld
inc eax
add byte [eax], dh
cld
inc eax
add byte [eax], dh
cld
inc eax
add byte [edx], dh
cld
inc eax
add byte [eax], dh
cld
inc eax
add byte [edx - 4], ch
inc eax
add byte [esi], bh
inc byte [eax]
mov esp, 0xff004100
add byte [ecx], al
xor dword [ecx], eax
inc ecx
add dh, dl
add byte [ecx], al
xor dword [ecx], eax
inc ecx
add dh, dl
add byte [ecx], al
lock add byte [ecx], al
fadd qword [eax]
inc ecx
add al, dh
add byte [ecx], al
inc dword [eax]
inc ecx
add byte [0x53004101], al
add dword [ecx], eax
pop ebp
add dword [ecx], eax
pop esi
loope 4445415
add cl, dl
test byte [eax], 0x30
loope 0x43d4ef
add byte [esi + 0x3f004102], dh
add al, byte [ecx]
mov dh, 2
inc ecx
add byte [ebx], cl
add eax, dword [ecx]
add al, byte [ecx + eax*2]
add byte [ebx], ah
add eax, dword [ecx]
ja 0x43d4cd
inc ecx
add ch, dl
add eax, dword [ecx]
mov al, 3
inc ecx
add ch, dl
add eax, dword [ecx]
jmp 0x43d4dd
invalid
add eax, dword [ecx]
test byte [ecx + eax*2], al
add al, 0x41
add byte [eax], al
add al, 0x41
add byte [eax], al
add al, 0x41
add byte [eax], al
add al, 0x41
add byte [edx], al
add al, 0x41
add byte [edx], bh
add al, 0x41
add dh, ah
push es
inc ecx
add byte [ecx], dl
in al, 0x40
add byte [ecx - 0x1f], ch
inc eax
add byte [ecx], dl
in al, 0x40
add byte [ecx - 0x1f], ch
inc eax
add byte [edi - 0x1f], ch
inc eax
add byte [eax - 0x7fffbf1f], al
loope 0x43d553
add dh, ah
push es
inc ecx
add ah, ch
push es
inc ecx
add byte [edx], al
pop es
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx], al
pop es
inc ecx
add byte [edi + eax], cl
inc ecx
add byte [esi - 0x1f], bl
inc eax
add byte [ebp + ecx + 0x2a440041], bl
inc ecx
add byte [esi], dh
sub al, byte [ecx]
enter 0x410d, 0
inc eax
sub al, byte [ecx]
inc eax
sub al, byte [ecx]
inc esp
sub al, byte [ecx]
inc eax
sub al, byte [ecx]
mov al, 0xd
inc ecx
add byte [esi + 0xe], al
add byte [eax + 0x2a], al
inc ecx
add byte [eax + 0x4600410d], dh
push cs
inc ecx
add byte [eax - 0x1cffbef3], dh
push cs
inc ecx
add byte [edx + 0xf], ch
inc ecx
add dh, bh
inc ecx
add dh, bh
inc ecx
add byte [esi + 0x12], bl
inc ecx
add byte [edi + 0x12], dh
inc ecx
add byte [edx + 0x28004114], ah
adc eax, 0x17260041
inc ecx
add byte [ecx + 0x18], bl
inc ecx
add byte [edx + 0x18], ah
inc ecx
add byte [ebp - 0x40ffbeeb], dh
push ss
inc ecx
add dh, bl
sbb byte [ecx], al
pop es
sbb dword [ecx], eax
retf 0x4116
sbb al, 0x41
add byte [ebx + 0x1c], bh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x1c], bh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x49ffbee4], cl
push ds
inc ecx
add cl, bh
pop ds
inc ecx
add byte [edi], bl
and byte [ecx], al
push esi
and byte [ecx], al
adc byte [eax], ah
inc ecx
add byte [edi + 0x41004121], cl
and al, byte [ecx]
push eax
and al, byte [ecx]
cmpsd dword [esi], dword es:[edi]
and dword [ecx], eax
insb byte es:[edi], dx
sbb al, 65
add byte [edi + 0x6c004122], ch
sbb al, 0x41
add byte [edx - 0x1ffbee4], ch
inc ecx
add byte [edi], dh
inc ecx
add byte [edi], dh
inc ecx
add byte [ebx - 0x63ffbeee], bl
adc al, 0x41
add byte [eax], dl
sub al, byte [ecx]
sbb byte [edx], ch
inc ecx
add byte [edx + ebp], ah
inc ecx
add byte [eax], bl
sub al, byte [ecx]
adc byte [edx], ch
inc ecx
add byte [eax], dl
sub al, byte [ecx]
adc byte [edx], ch
inc ecx
add byte [eax], dl
sub al, byte [ecx]
xor al, 0x27
inc ecx
add byte [esp], ch
inc ecx
add byte [edx + 0x27], cl
inc ecx
add byte [ebx], bh
and al, 0x41
add byte [eax], bl
and eax, 0x27570041
inc ecx
add byte [eax + 0x24], cl
inc ecx
add byte [edi + 0x27], dl
inc ecx
add byte [esi], bl
and al, 0x41
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], bl
and al, 0x41
add byte [ecx], al
add byte [eax], al
add byte [eax], bl
and eax, 0x24120041
inc ecx
add byte [ecx + 0x4c004127], dl
sub byte [ecx], al
xchg ecx, eax
daa
inc ecx
add byte [0xb8004129], cl
sub dword [ecx], eax
sbb ebp, dword [ecx]
inc ecx
add byte [edi + 0x27], dl
inc ecx
add byte [eax + 0x25], dl
inc ecx
add dl, bh
and eax, dword [ecx]
dec edi
and eax, dword [ecx]
adc byte [ecx + eax*2], ah
add byte [eax], dl
and al, 0x41
add byte [eax], dl
and al, 0x41
add byte [edi + 0x27], dl
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x27], dl
inc ecx
add byte [ecx + 0x27], ch
daa
daa
inc ecx
add dh, al
inc ecx
add byte [edi + 0x27], dh
inc ecx
add cl, ah
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add cl, ah
inc ecx
add byte [ecx], al
add byte [eax], al
add dl, dh
inc ecx
add dh, bh
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], cl
sub al, 0x41
add byte [ebx + 0x2c], cl
inc ecx
add byte [edx + 0x2c], dh
inc ecx
add byte [0x4900412d], ch
sub eax, 0x2d740041
inc ecx
add byte [esi + 0x2e], bh
inc ecx
add byte [ebx - 0x6cffbed2], dl
inc ecx
add byte [ecx - 0x72ffbed2], bl
inc ecx
add byte [ebp - 0x72ffbed2], cl
inc ecx
add byte [esi + 0x2f], dl
inc ecx
add byte [edx], al
sub eax, 0x2d020041
inc ecx
add byte [eax], dl
sub eax, 0x2d120041
inc ecx
add byte [eax], bl
sub eax, 0x2d230041
inc ecx
add byte [ebx], ah
sub eax, 0x2eaa0041
inc ecx
add byte [eax], dl
sub eax, 0x2d020041
inc ecx
add byte [0x8d00412d], ch
inc ecx
add byte [ecx + 0x2d], cl
inc ecx
add byte [ebx + 0x7400412e], dl
sub eax, 0x2e7e0041
inc ecx
add byte [ebx - 0x66ffbed2], dl
inc ecx
add byte [ebp + 0x5600412e], cl
das
inc ecx
add byte [edx + 0x200412e], ch
sub eax, 0x2f560041
inc ecx
add byte [eax], dl
sub eax, 0x2d100041
inc ecx
add byte [eax], dl
sub eax, 0x2d120041
inc ecx
add byte [eax], bl
sub eax, 0x2d230041
inc ecx
add byte [eax], al
add byte [eax], al
add byte [ecx - 0x23ffbecf], bh
xor dword [ecx], eax
pop es
xor al, byte [ecx]
jge 0x43d7f1
inc ecx
add dh, al
xor al, 0x41
add ah, cl
xor al, 0x41
add bl, bl
xor al, 0x41
add bl, bl
xor al, 0x41
add bl, bl
xor al, 0x41
add cl, ah
xor al, 0x41
add dl, ch
xor al, 0x41
add dl, ch
xor al, 0x41
add byte [eax - 0x71ffbecb], cl
xor eax, 0x35b90041
inc ecx
add byte [edx], al
aaa
inc ecx
add byte [esi], dl
cmp byte [ecx], al
and bh, byte [eax]
inc ecx
add byte [eax], ch
cmp byte [ecx], al
outsd dx, dword [esi]
inc ecx
inc ecx
add byte [ecx + 0x41], dl
inc ecx
add byte [ecx + 0x41], dl
inc ecx
add byte [ecx + 0x41], bl
inc ecx
add byte [ecx + eax*2 + 0x41], bl
add byte [esi], ch
cmp byte [ecx], al
xor al, 0x38
inc ecx
add byte [0x60004138], bh
cmp byte [ecx], al
xchg edx, eax
cmp byte [ecx], al
mov bl, 0x38
inc ecx
add byte [esi + edi], cl
inc ecx
add dh, dh
aas
inc ecx
add byte [eax], ah
inc eax
inc ecx
add byte [ebx], dh
inc eax
inc ecx
add byte [ebx], dh
inc eax
inc ecx
add byte [ebx], dh
inc eax
inc ecx
add byte [ebx], dh
inc eax
inc ecx
add byte [ebx], dh
inc eax
inc ecx
add byte [eax], dh
inc ecx
inc ecx
add byte [edi], bh
inc ecx
inc ecx
add byte [edi - 0x31ffbebf], ch
inc ecx
inc ecx
add dh, cl
inc ecx
inc ecx
add byte [esi + 0x41], bh
inc ecx
add byte [eax + 0x4a004141], dl
cmp dword [ecx], eax
dec edx
cmp dword [ecx], eax
push eax
cmp dword [ecx], eax
pop ecx
cmp dword [ecx], eax
pop ecx
cmp dword [ecx], eax
cli
cmp eax, 0x3e060041
inc ecx
add byte [ecx + eax*2 + 0x41], bl
add byte [ecx + eax*2 + 0x41], bl
add byte [edx], cl
cmp al, byte [ecx]
bound edi, qword [ebx]
inc ecx
add byte [edx + 0x3b], ah
inc ecx
add byte [eax - 0x4fffbec3], dh
cmp eax, 0x3db60041
inc ecx
add byte [ecx + 0x1000413b], ah
cmp eax, 0x3d210041
inc ecx
add byte [esi + 0x3d], al
inc ecx
add byte [esi + 0x3d], al
inc ecx
add byte [ebx - 0x5fffbec3], al
cmp eax, 0x3b700041
inc ecx
add byte [ecx + 0x3b], bh
inc ecx
add byte [ecx + 0x3b], bh
inc ecx
add al, bl
inc ecx
inc ecx
add al, bl
inc ecx
inc ecx
add byte [esi - 0x49ffbec6], ch
cmp eax, 0x3dc90041
inc ecx
add dl, dl
cmp eax, 0x415c0041
inc ecx
add byte [ecx + eax*2 + 0x41], bl
add byte [0xc3004132], cl
xor eax, 0x41660041
inc ecx
add byte [0x96004140], al
inc ecx
inc ecx
add byte [eax + 0x413d], dh
inc edx
inc ecx
add byte [esi], ch
inc edx
inc ecx
add byte [esi], ch
inc edx
inc ecx
add byte [edi + ecx*2], bh
inc ecx
add byte [edi + 0x42], ch
inc ecx
add byte [edi + 0x42], ch
inc ecx
add byte [edi], cl
inc esi
inc ecx
add byte [eax], ah
inc esi
inc ecx
add byte [edx], ah
inc esi
inc ecx
add byte [eax - 0x2fffbebe], ch
inc edx
inc ecx
add al, ch
inc ebp
inc ecx
add byte [eax - 0x6fffbebe], dl
inc edx
inc ecx
add byte [edx], ah
inc esi
inc ecx
add byte [ecx], bh
dec edx
inc ecx
add byte [edx], ch
dec edx
inc ecx
add byte [edx + 0x4a], al
inc ecx
add byte [edi + 0x4a], cl
inc ecx
add byte [edi + 0x4b], dl
inc ecx
add byte [edi + 0x4b], dl
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x4b], dl
inc ecx
add byte [edi + 0x4b], dl
inc ecx
add byte [edi + 0x4b], dl
inc ecx
add byte [eax + 0x4b], dh
inc ecx
add byte [edx + 0x4b], dh
inc ecx
add byte [edx + 0x4b], dh
inc ecx
add byte [edx + 0x4b], dh
inc ecx
add byte [ebx - 0x58ffbeb5], cl
dec ebx
inc ecx
add byte [eax - 0x9ffbeb5], bh
dec esi
inc ecx
add byte [eax], dl
dec edi
inc ecx
add byte [edi], bl
dec edi
inc ecx
add byte [edi], bl
dec edi
inc ecx
add byte [edi], ah
dec edi
inc ecx
add byte [edx], dh
dec edi
inc ecx
add byte [edx], dh
dec edi
inc ecx
add byte [eax], al
inc edx
inc ecx
add byte [eax], ah
inc esi
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x4b], dh
inc ecx
add ah, bh
dec esi
inc ecx
add byte [edx + 0x5b00414f], ch
push ecx
inc ecx
add byte [ebx + edx*2 + 0x41], al
add byte [ebx + 0x53], dl
inc ecx
add byte [ebx + 0x53], dl
inc ecx
add byte [ecx + 0x53], bl
inc ecx
add byte [edx + 0x53], ah
inc ecx
add byte [eax - 0x46ffbecb], cl
xor dword [ecx], eax
ljmp 0x4131