Function at 0x42da40
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebp, dword [0x46002c]
push esi
push edi
mov edi, dword [ebp + 0x5c0]
cmp word [edi + 0x408], 1
mov edx, 2
jl case.0x42daeb.2
mov eax, dword [ebp + 0x5bc]
xor bl, bl
cmp word [eax + 0x408], 0x71
jl 0x42da7c
mov bl, 1
jmp 0x42daa2
movsx ecx, word [edi + 0x40c]
push ecx
mov esi, 1
call fcn.00401cb0
lea edx, [esi + 1]
test eax, eax
je 0x42daa2
mov eax, dword [ebp + 0x5bc]
inc word [eax + 0x408]
mov eax, dword [ebp + 0x5bc]
inc word [eax + 0x40c]
mov eax, dword [ebp + 0x5bc]
movsx ecx, word [eax + 0x40c]
cmp ecx, dword [eax + 0x3e0]
jl 0x42dacd
xor ecx, ecx
mov word [eax + 0x40c], cx
mov ecx, dword [ebp + 0x5c0]
movsx eax, word [ecx + 0x408]
dec eax
cmp eax, 0x63
ja case.0x42daeb.2
movzx eax, byte [eax + 0x43038c]
jmp dword [eax*4 + 0x430374]
mov ecx, dword [ebp + 0x5c4]
mov eax, 0x26
mov word [ecx + 0x408], ax
mov eax, 0xa
jmp 0x42dbae
mov eax, dword [ebp + 0x5c4]
add word [eax + 0x408], 0xfffe
mov eax, dword [ebp + 0x5c4]
cmp word [eax + 0x408], 0
jg case.0x42daeb.2
xor ecx, ecx
mov word [eax + 0x408], cx
mov eax, dword [ebp + 0x5c0]
mov ecx, 0x14
mov word [eax + 0x408], cx
jmp case.0x42daeb.2
test bl, bl
je case.0x42daeb.2
mov eax, 0x63
jmp 0x42dbb4
mov eax, dword [ebp + 0x5c4]
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x5c4]
movsx ecx, word [eax + 0x40c]
cmp ecx, dword [eax + 0x3e0]
jl case.0x42daeb.2
mov eax, dword [ebp + 0x5c0]
mov ecx, 0x64
mov word [eax + 0x408], cx
jmp case.0x42daeb.2
mov eax, dword [ebp + 0x5c4]
add word [eax + 0x408], 3
mov eax, dword [ebp + 0x5c4]
cmp word [eax + 0x408], 0x26
jl case.0x42daeb.2
xor eax, eax
mov ecx, dword [ebp + 0x5c0]
mov word [ecx + 0x408], ax
cmp byte [ebp + 0x8ac], 0
mov ebx, 5
je case.default.0x42dbdc
mov eax, dword [ebp + 0x8b0]
dec eax
cmp eax, ebx
ja case.default.0x42dbdc
jmp dword [eax*4 + 0x4303f0]
mov ecx, dword [ebp + 0x8b4]
mov eax, dword [ebp + ecx*4 + 0x47c]
cmp byte [eax + 0x428], 0
je case.default.0x42dbdc
mov dword [ebp + 0x8b0], edx
mov byte [ebp + 0x8ae], 1
jmp case.default.0x42dbdc
push 0x3e8
mov esi, 0xb
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.default.0x42dbdc
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x14
jge 0x42dc43
cmp dword [ebp + 0x8b4], 3
jl 0x42dc4c
cmp byte [ebp + 0x8ad], 0
je 0x42dca8
inc dword [ebp + 0x8b4]
mov eax, dword [ebp + 0x8b4]
mov esi, dword [ebp + eax*4 + 0x47c]
call fcn.00404d50
push 0
mov eax, 4
push 0
mov byte [ebp + 0x8ae], 0
mov esi, ebx
push 0
cmp dword [ebp + 0x8b4], eax
jne 0x42dc92
push 0x2d
mov dword [ebp + 0x8b0], eax
call fcn.00436d00
jmp case.default.0x42dbdc
push 0x2c
mov dword [ebp + 0x8b0], 3
call fcn.00436d00
jmp case.default.0x42dbdc
add dword [ebp + 0x8b4], ebx
mov eax, dword [ebp + 0x8b4]
mov esi, dword [ebp + eax*4 + 0x47c]
call fcn.00404d50
push 0
push 0
push 0
push 0x2b
mov esi, ebx
mov byte [ebp + 0x8ae], 0
mov dword [ebp + 0x8b0], ebx
call fcn.00436d00
jmp case.default.0x42dbdc
mov eax, dword [ebp + 0x8b4]
mov ecx, dword [ebp + eax*4 + 0x47c]
cmp byte [ecx + 0x428], 0
jmp 0x42dbf7
mov edx, dword [ebp + 0x8b4]
mov eax, dword [ebp + edx*4 + 0x47c]
cmp byte [eax + 0x428], 0
je case.default.0x42dbdc
mov ecx, dword [ebp + 0x47c]
xor edx, edx
mov dword [ebp + 0x8b0], 6
mov byte [ebp + 0x8ae], 1
mov word [ecx + 0x408], dx
jmp case.default.0x42dbdc
mov eax, dword [ebp + 0x8b4]
mov ecx, dword [ebp + eax*4 + 0x47c]
cmp byte [ecx + 0x428], 0
je case.default.0x42dbdc
jmp 0x42dd67
mov eax, dword [ebp + 0x47c]
add word [eax + 0x408], dx
mov edx, dword [ebp + 0x47c]
cmp word [edx + 0x408], 0x26
jl case.default.0x42dbdc
mov byte [ebp + 0x8ac], 0
mov dword [ebp + 0x8b0], 0
cmp byte [ebp + 0x89c], 0
je 0x42dda4
add dword [ebp + 0x8a0], 0xfffffffe
cmp dword [ebp + 0x8a0], 0
jg 0x42dda4
mov eax, dword [ebp + 0x8a4]
mov byte [ebp + 0x89c], 0
mov dword [ebp + 0x8a8], eax
cmp byte [ebp + 0x804], 0
je 0x42dde2
cmp dword [0x45e904], 0x7d0
jne 0x42ddcb
add dword [ebp + 0x808], 0xfffffffe
cmp dword [ebp + 0x808], 0
jg 0x42dde2
jmp 0x42dddb
add dword [ebp + 0x808], 2
cmp dword [ebp + 0x808], 0x26
jl 0x42dde2
mov byte [ebp + 0x804], 0
mov eax, dword [ebp + 0x828]
test eax, eax
jle 0x42de43
sub eax, 1
je 0x42de20
sub eax, 0x62
je 0x42de43
sub eax, 1
jne 0x42de43
mov eax, dword [ebp + 0x82c]
lea ecx, [eax + eax*2]
mov edx, dword [ebp + ecx*4 + 0x838]
cmp byte [edx + 0x428], 0
je 0x42de43
mov dword [ebp + 0x828], 0
jmp 0x42de43
mov eax, dword [ebp + 0x82c]
lea eax, [eax + eax*2]
mov ecx, dword [ebp + eax*4 + 0x830]
cmp byte [ecx + 0x428], 0
je 0x42de43
mov dword [ebp + 0x828], 0x63
cmp byte [ebp + 0x88c], 0
je 0x42de7c
mov edx, dword [ebp + 0x890]
mov edi, dword [ebp + edx*4 + 0x7f4]
cmp byte [edi + 0x428], 0
jne 0x42de75
push 0x2710
mov esi, 1
call fcn.00401cb0
test eax, eax
je 0x42de7c
mov byte [ebp + 0x88c], 0
cmp byte [ebp + 0x879], 0
je 0x42ded9
cmp byte [ebp + 0x87a], 0
je 0x42deb1
add dword [ebp + 0x87c], 0xfffffffd
cmp dword [ebp + 0x87c], 0
jg 0x42ded9
mov dword [ebp + 0x87c], 0
mov byte [ebp + 0x878], 1
jmp 0x42ded2
add dword [ebp + 0x87c], 3
mov eax, 0x26
cmp dword [ebp + 0x87c], eax
jl 0x42ded9
mov dword [ebp + 0x87c], eax
mov byte [ebp + 0x878], 0
mov byte [ebp + 0x879], 0
cmp byte [ebp + 0x95c], 0
je 0x42df0d
push 0x3e8
mov esi, 0xa
mov edi, ebp
call fcn.00401cb0
test eax, eax
je 0x42df0d
dec dword [ebp + 0x960]
cmp dword [ebp + 0x960], 0
jg 0x42df0d
mov byte [ebp + 0x95c], 0
mov ebx, 0xfffffe50
lea esi, [ebp + 0x91c]
lea edi, [ebp + 0x1b0]
sub ebx, ebp
mov dword [esp + 0x10], 3
cmp byte [esi - 0x10], 0
je 0x42df99
mov ecx, dword [esi - 4]
inc dword [esi]
mov eax, dword [esi]
add ecx, ebx
add ecx, edi
mov edx, dword [ebp + ecx*4 + 0x4a8]
cmp eax, dword [edx + 0x3e0]
jl 0x42df4e
mov dword [esi], 0
cmp dword [edi - 0x190], 0
jne 0x42df6d
mov dword [edi - 0x190], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi - 0xc8], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [edi], eax
sub eax, dword [edi - 0xc8]
cmp eax, 0x3e8
jb 0x42df99
mov dword [edi - 0x190], 0
dec dword [esi - 0xc]
cmp dword [esi - 0xc], 0
jg 0x42df99
mov byte [esi - 0x10], 0
add edi, 4
add esi, 0x14
sub dword [esp + 0x10], 1
jne 0x42df28
cmp byte [ebp + 0x948], 0
je 0x42dfd3
inc dword [ebp + 0x958]
mov eax, dword [ebp + 0x958]
mov ecx, dword [ebp + 0x4a4]
cmp eax, dword [ecx + 0x3e0]
jl 0x42dfd3
mov dword [ebp + 0x958], 0
cmp byte [ebp + 0x8f8], 0
je 0x42e05c
cmp dword [ebp + 0x1c], 0
jne 0x42dfff
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x1c], 1
call esi
mov dword [ebp + 0xe4], eax
call esi
jmp 0x42e005
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xe4]
mov dword [ebp + 0x1ac], eax
cmp edx, 0x3e8
jb 0x42e028
mov dword [ebp + 0x1c], 0
dec dword [ebp + 0x8fc]
inc dword [ebp + 0x908]
mov eax, dword [ebp + 0x908]
mov ecx, dword [ebp + 0x4d8]
cmp eax, dword [ecx + 0x3e0]
jl 0x42e05c
cmp dword [ebp + 0x8fc], 0
mov dword [ebp + 0x908], 0
jg 0x42e05c
mov byte [ebp + 0x8f8], 0
cmp byte [ebp + 0x8e4], 0
je 0x42e0e5
cmp dword [ebp + 0x18], 0
jne 0x42e088
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x18], 1
call esi
mov dword [ebp + 0xe0], eax
call esi
jmp 0x42e08e
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xe0]
mov dword [ebp + 0x1a8], eax
cmp edx, 0x3e8
jb 0x42e0c1
mov dword [ebp + 0x18], 0
dec dword [ebp + 0x8e8]
cmp dword [ebp + 0x8e8], 0
jg 0x42e0c1
mov byte [ebp + 0x8e4], 0
inc dword [ebp + 0x8f4]
mov eax, dword [ebp + 0x8f4]
mov ecx, dword [ebp + 0x4dc]
cmp eax, dword [ecx + 0x3e0]
jl 0x42e0e5
mov dword [ebp + 0x8f4], 0
cmp byte [ebp + 0x8d0], 0
je 0x42e1a1
cmp dword [ebp + 0x14], 0
jne 0x42e111
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x14], 1
call esi
mov dword [ebp + 0xdc], eax
call esi
jmp 0x42e117
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xdc]
mov dword [ebp + 0x1a4], eax
cmp edx, 0x3e8
jb 0x42e13a
mov dword [ebp + 0x14], 0
dec dword [ebp + 0x8d4]
inc dword [ebp + 0x8e0]
mov eax, dword [ebp + 0x8dc]
mov ecx, dword [ebp + 0x8e0]
xor edx, edx
cmp dword [0x45e904], 0x3e8
setne dl
lea edx, [eax + edx*2]
mov edx, dword [ebp + edx*4 + 0x46c]
cmp ecx, dword [edx + 0x3e0]
jl 0x42e1a1
mov dword [ebp + 0x8e0], 0
test eax, eax
jne 0x42e187
mov dword [ebp + 0x8dc], 1
jmp 0x42e1a1
cmp dword [ebp + 0x8d4], 0
jg 0x42e1a1
mov dword [ebp + 0x8dc], 0
mov byte [ebp + 0x8d0], 0
cmp byte [ebp + 0x9ac], 0
je 0x42eb31
mov eax, dword [ebp + 0x9b4]
mov ebx, 6
cmp eax, ebx
ja case.0x42e1de.3
jmp dword [eax*4 + 0x430408]
mov eax, dword [ebp + 0x9b0]
cmp eax, 0x63
ja case.0x42e1de.3
movzx eax, byte [eax + 0x43043c]
jmp dword [eax*4 + 0x430424]
mov edi, dword [ebp + 0x688]
push 0xbb8
mov esi, 3
call fcn.00401cb0
test eax, eax
je case.0x42e1de.3
mov dword [ebp + 0x9b0], 0
jmp case.0x42e1de.3
push 0
push 0
push 0
push 0x17
mov esi, 4
call fcn.00436d00
mov dword [ebp + 0x9b8], 0
mov esi, dword [ebp + 0x688]
jmp 0x42eaf0
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp dword [edx + 0x424], 0x64
jne 0x42e25f
push 0
push 0
push 0
push ebx
mov esi, 3
call fcn.00436d00
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e1de.3
mov dword [ebp + 0x9b8], 1
mov esi, dword [ebp + 0x68c]
call fcn.00404d50
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
mov ecx, 5
mov word [eax + 0x408], cx
mov dword [ebp + 0x9b0], 2
jmp case.0x42e1de.3
mov edx, dword [ebp + 0x9b8]
mov edi, dword [ebp + edx*4 + 0x688]
push 0x3e8
mov esi, 1
call fcn.00401cb0
test eax, eax
je case.0x42e1de.3
mov eax, dword [ebp + 0x9b8]
mov eax, dword [ebp + eax*4 + 0x688]
dec word [eax + 0x408]
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp word [edx + 0x408], 0
jg case.0x42e1de.3
call fcn.0043bcb0
cdq
mov ecx, 0x1f4
idiv ecx
cmp edx, 0x78
jg 0x42e348
cmp byte [ebp + 0x9bc], 0
jne 0x42e348
mov dword [ebp + 0x9b8], 2
mov esi, dword [ebp + 0x690]
call fcn.00404d50
mov dword [ebp + 0x9b0], 0x63
jmp case.0x42e1de.3
cmp byte [ebp + 0x9bc], 0
mov dword [ebp + 0x9b0], 0
je 0x42e373
call fcn.0043bcb0
cdq
mov ecx, 3
idiv ecx
add edx, 2
mov dword [ebp + 0x9b4], edx
jmp 0x42e3ab
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jg 0x42e391
mov dword [ebp + 0x9b4], 5
jmp 0x42e3ab
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e3a2
dec eax
or eax, 0xfffffffe
inc eax
add eax, 5
mov dword [ebp + 0x9b4], eax
push 0
push 0
push 0
push 0x29
mov esi, 4
call fcn.00436d00
jmp case.0x42e1de.3
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp dword [eax + 0x424], 0xf
jne 0x42e3ea
push 0
push 0
push 0
push 0x28
mov esi, 4
call fcn.00436d00
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp byte [edx + 0x428], 0
je case.0x42e1de.3
mov byte [ebp + 0x9ac], 0
jmp case.0x42e1de.3
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e457
sub eax, 1
jne case.0x42e1de.3
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e1de.3
mov dword [ebp + 0x9b4], 0
mov dword [ebp + 0x9b0], 0x58
jmp case.0x42e1de.3
call fcn.0043bcb0
cdq
mov ecx, 7
idiv ecx
lea eax, [edx + 0x11]
mov dword [ebp + 0x9b8], eax
mov esi, dword [ebp + eax*4 + 0x688]
jmp 0x42eaf0
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e55d
sub eax, 1
je 0x42e4d7
sub eax, 1
jne case.0x42e1de.3
cmp dword [ebp + 0x9b8], 9
jne 0x42e70e
mov edx, dword [ebp + 0x6ac]
mov eax, dword [edx + 0x424]
cmp eax, 1
jne 0x42e4c1
push 0
push 0
push 0
push 0x2e
jmp 0x42e704
cmp eax, 0x3c
jne 0x42e70e
push 0
push 0
push 0
push 0x2f
jmp 0x42e704
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
mov eax, dword [eax + 0x424]
cmp eax, 0x6e
jne 0x42e4f9
push 0
push 0
push 0
push 0x27
jmp 0x42e508
cmp eax, 0xeb
jne 0x42e512
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436d00
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp byte [edx + 0x428], 0
je case.0x42e1de.3
call fcn.0043bcb0
cdq
mov ecx, 3
idiv ecx
lea eax, [edx + 7]
mov dword [ebp + 0x9b8], eax
mov esi, dword [ebp + eax*4 + 0x688]
call fcn.00404d50
mov dword [ebp + 0x9b0], 2
jmp case.0x42e1de.3
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e56e
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
mov dword [ebp + 0x9b8], eax
mov esi, dword [ebp + eax*4 + 0x688]
jmp 0x42eaf0
mov eax, dword [ebp + 0x9b0]
cmp eax, 3
ja case.0x42e1de.3
jmp dword [eax*4 + 0x4304a0]
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e5aa
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
mov dword [ebp + 0x9b8], eax
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x37
jmp 0x42eac7
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
mov eax, dword [ecx + 0x424]
cmp eax, 0x6e
jne 0x42e5ea
push 0
push 0
push 0
push 0x27
jmp 0x42e5f9
cmp eax, 0xeb
jne 0x42e603
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436d00
mov eax, dword [ebp + 0x9b8]
mov edx, dword [ebp + eax*4 + 0x688]
cmp byte [edx + 0x428], 0
je case.0x42e1de.3
cmp eax, 5
je 0x42e645
cmp eax, ebx
je 0x42e645
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e637
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xb
mov dword [ebp + 0x9b8], eax
jmp 0x42e542
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e656
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xd
mov dword [ebp + 0x9b8], eax
jmp 0x42e542
mov eax, dword [ebp + 0x9b8]
cmp eax, 0xb
je 0x42e674
cmp eax, 0xd
jne 0x42e696
mov ecx, dword [ebp + eax*4 + 0x688]
cmp dword [ecx + 0x424], 1
jne 0x42e696
push 0
push 0
push 0
push 0x30
mov esi, 4
call fcn.00436d00
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp byte [eax + 0x428], 0
je case.0x42e1de.3
mov dword [ebp + 0x9b8], 0xa
mov esi, dword [ebp + 0x6b0]
call fcn.00404d50
push 0
push 0
push 0
push 0x2a
mov esi, 4
mov dword [ebp + 0x9b0], 3
call fcn.00436d00
jmp case.0x42e1de.3
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp dword [edx + 0x424], 0x7d
jne 0x42e70e
push 0
push 0
push 0
push 0x2b
mov esi, 4
call fcn.00436d00
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e1de.3
mov byte [ebp + 0x9ac], 0
jmp case.0x42e1de.3
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e55d
sub eax, 1
je 0x42e7cc
sub eax, 1
jne case.0x42e1de.3
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
mov eax, dword [eax + 0x424]
cmp eax, 1
jne 0x42e77a
push 0
push 0
push 0
push 0x2e
jmp 0x42e3e0
cmp eax, 0x3c
jne 0x42e78c
push 0
push 0
push 0
push 0x2f
jmp 0x42e3e0
cmp eax, 0xaa
jne 0x42e7a0
push 0
push 0
push 0
push 0x25
jmp 0x42e3e0
cmp eax, 0x118
jne 0x42e7b4
push 0
push 0
push 0
push 0x2d
jmp 0x42e3e0
cmp eax, 0x177
jne 0x42e3ea
push 0
push 0
push 0
push 0x2c
jmp 0x42e3e0
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
mov eax, dword [ecx + 0x424]
cmp eax, 0x6e
jne 0x42e7ee
push 0
push 0
push 0
push 0x27
jmp 0x42e7fd
cmp eax, 0xeb
jne 0x42e807
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436d00
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp byte [eax + 0x428], 0
je case.0x42e1de.3
mov dword [ebp + 0x9b8], 0x10
mov esi, dword [ebp + 0x6c8]
call fcn.00404d50
mov dword [ebp + 0x9b0], 2
jmp case.0x42e1de.3
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e942
sub eax, 1
je 0x42e897
sub eax, 1
jne case.0x42e1de.3
mov eax, dword [ebp + 0x9b8]
cmp eax, 0xb
je 0x42e876
cmp eax, 0xd
jne 0x42e9f8
mov ecx, dword [ebp + eax*4 + 0x688]
cmp dword [ecx + 0x424], 1
jne 0x42e9f8
push 0
push 0
push 0
push 0x30
jmp 0x42e9ee
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
mov eax, dword [edx + 0x424]
cmp eax, 0x6e
jne 0x42e8b9
push 0
push 0
push 0
push 0x27
jmp 0x42e8c8
cmp eax, 0xeb
jne 0x42e8d2
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436d00
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e1de.3
cmp eax, 5
je 0x42e90b
cmp eax, ebx
je 0x42e90b
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e906
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xb
jmp 0x42e91f
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e91c
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xd
mov edx, eax
mov dword [ebp + 0x9b8], eax
mov esi, dword [ebp + edx*4 + 0x688]
call fcn.00404d50
mov dword [ebp + 0x9b0], 2
jmp case.0x42e1de.3
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42e953
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
mov dword [ebp + 0x9b8], eax
call fcn.0043bcb0
mov ecx, 0x78
jmp 0x42eac1
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42ea94
sub eax, 1
je 0x42ea1e
sub eax, 1
jne case.0x42e1de.3
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
mov eax, dword [ecx + 0x424]
cmp eax, 1
jne 0x42e9ae
push 0
push 0
push 0
push 0x2e
jmp 0x42e9ee
cmp eax, 0x3c
jne 0x42e9bd
push 0
push 0
push 0
push 0x2f
jmp 0x42e9ee
cmp eax, 0xaa
jne 0x42e9ce
push 0
push 0
push 0
push 0x25
jmp 0x42e9ee
cmp eax, 0x118
jne 0x42e9df
push 0
push 0
push 0
push 0x2d
jmp 0x42e9ee
cmp eax, 0x186
jne 0x42e9f8
push 0
push 0
push 0
push 0x26
mov esi, 4
call fcn.00436d00
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp byte [eax + 0x428], 0
je case.0x42e1de.3
mov byte [ebp + 0x9ac], 0
jmp case.0x42e1de.3
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
mov eax, dword [edx + 0x424]
cmp eax, 0x6e
jne 0x42ea40
push 0
push 0
push 0
push 0x27
jmp 0x42ea4f
cmp eax, 0xeb
jne 0x42ea59
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436d00
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e1de.3
mov dword [ebp + 0x9b8], 0xf
mov esi, dword [ebp + 0x6c4]
call fcn.00404d50
mov dword [ebp + 0x9b0], 2
jmp case.0x42e1de.3
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42eaa5
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
cmp byte [ebp + 0x9bc], 0
mov dword [ebp + 0x9b8], eax
je 0x42eae3
call fcn.0043bcb0
mov ecx, 0x64
cdq
idiv ecx
cmp edx, 5
jg 0x42eae3
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42eada
dec eax
or eax, 0xfffffffe
inc eax
add eax, 5
mov dword [ebp + 0x9b8], eax
mov edx, dword [ebp + 0x9b8]
mov esi, dword [ebp + edx*4 + 0x688]
call fcn.00404d50
mov dword [ebp + 0x9b0], 1
cmp byte [ebp + 0x9ac], 0
jne 0x42eb31
mov eax, dword [0x46002c]
push 0
call fcn.0042ce20
mov eax, dword [0x460010]
mov dword [eax + 0x374], ebx
cmp dword [eax + 0x370], ebx
jne 0x42eb31
mov dword [eax + 0x370], 0
cmp byte [ebp + 0x994], 0
je case.0x42eb54.2
mov eax, dword [ebp + 0x998]
cmp eax, 0x5a
ja case.0x42eb54.2
movzx eax, byte [eax + 0x4304c4]
jmp dword [eax*4 + 0x4304b0]
mov eax, dword [ebp + 0x9a4]
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x99c]
mov edi, 1
mov eax, dword [ebp + ecx*4 + 0x7b4]
add word [eax + 0x40c], di
mov eax, dword [ebp + 0x9a0]
lea edx, [eax + eax*2]
add edx, dword [ebp + 0x99c]
mov eax, dword [ebp + edx*4 + 0x748]
add word [eax + 0x40c], di
mov eax, dword [ebp + 0x9a0]
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x99c]
mov eax, dword [ebp + eax*4 + 0x748]
movsx ecx, word [eax + 0x40c]
cmp ecx, dword [eax + 0x3e0]
jl case.0x42eb54.2
cmp dword [ebp + 0x998], 0
jne 0x42ebe8
push 0
push 0
push 0
push 0x13
lea esi, [edi + 3]
mov dword [ebp + 0x998], 0xa
call fcn.00436d00
jmp 0x42ebf2
mov dword [ebp + 0x998], 5
mov eax, dword [ebp + 0x9a0]
lea edx, [eax + eax*2]
mov dword [ebp + 0x99c], edi
mov eax, dword [ebp + edx*4 + 0x74c]
call fcn.00404cf0
mov eax, dword [ebp + 0x9a4]
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x99c]
mov eax, dword [ebp + eax*4 + 0x7b4]
call fcn.00404cf0
mov eax, dword [ebp + 0x9a8]
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x99c]
mov eax, dword [ebp + ecx*4 + 0x76c]
call fcn.00404cf0
jmp case.0x42eb54.2
mov eax, dword [ebp + 0x9a4]
lea edx, [eax + eax*2]
add edx, dword [ebp + 0x99c]
mov ebx, 2
mov eax, dword [ebp + edx*4 + 0x7b4]
lea edi, [ebx - 1]
cmp word [eax + 0x40c], bx
jne 0x42ec96
mov ecx, dword [ebp + 0x9a8]
xor eax, eax
cmp ecx, edi
jle 0x42ec82
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push 0
push 0
push 0
add eax, 0x14
push eax
mov esi, 4
call fcn.00436d00
mov eax, dword [ebp + 0x9a0]
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x99c]
mov eax, dword [ebp + ecx*4 + 0x748]
add word [eax + 0x40c], di
mov eax, dword [ebp + 0x9a4]
lea edx, [eax + eax*2]
add edx, dword [ebp + 0x99c]
mov eax, dword [ebp + edx*4 + 0x7b4]
add word [eax + 0x40c], di
mov eax, dword [ebp + 0x9a8]
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x99c]
mov eax, dword [ebp + eax*4 + 0x76c]
add word [eax + 0x40c], di
mov eax, dword [ebp + 0x9a0]
mov edx, dword [ebp + 0x99c]
lea ecx, [eax + eax*2]
add edx, ecx
mov eax, dword [ebp + edx*4 + 0x748]
movsx edx, word [eax + 0x40c]
cmp edx, dword [eax + 0x3e0]
jl case.0x42eb54.2
mov dword [ebp + 0x998], 0x14
mov dword [ebp + 0x99c], ebx
mov eax, dword [ebp + ecx*4 + 0x750]
call fcn.00404cf0
mov eax, dword [ebp + 0x9a4]
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x99c]
mov eax, dword [ebp + eax*4 + 0x7b4]
call fcn.00404cf0
jmp case.0x42eb54.2
mov eax, dword [ebp + 0x9a4]
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x99c]
mov edx, 1
mov eax, dword [ebp + ecx*4 + 0x7b4]
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x9a4]
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x99c]
lea ecx, [ebp + eax*4 + 0x7b4]
mov eax, dword [ecx]
movsx esi, word [eax + 0x40c]
cmp esi, dword [eax + 0x3e0]
jl 0x42eda8
mov ecx, eax
xor eax, eax
mov word [ecx + 0x40c], ax
mov eax, dword [ebp + 0x9a0]
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x99c]
mov eax, dword [ebp + ecx*4 + 0x748]
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x9a0]
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x99c]
lea ecx, [ebp + eax*4 + 0x748]
mov eax, dword [ecx]
movsx esi, word [eax + 0x40c]
cmp esi, dword [eax + 0x3e0]
jl 0x42edf7
mov ecx, eax
xor eax, eax
mov word [ecx + 0x40c], ax
mov eax, dword [ebp + 0x9a8]
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x99c]
mov eax, dword [ebp + ecx*4 + 0x76c]
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x9a8]
lea edx, [eax + eax*2]
add edx, dword [ebp + 0x99c]
mov eax, dword [ebp + edx*4 + 0x76c]
lea ecx, [ebp + edx*4 + 0x76c]
movsx edx, word [eax + 0x40c]
cmp edx, dword [eax + 0x3e0]
jl case.0x42eb54.2
xor ecx, ecx
mov word [eax + 0x40c], cx
jmp case.0x42eb54.2
mov eax, dword [ebp + 0x9a4]
add eax, 0xa5
lea edx, [eax + eax*2]
mov eax, dword [ebp + edx*4]
mov edx, 1
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x9a4]
add eax, 0xa5
lea eax, [eax + eax*2]
lea ecx, [ebp + eax*4]
mov eax, dword [ecx]
movsx esi, word [eax + 0x40c]
cmp esi, dword [eax + 0x3e0]
jl 0x42ee9e
mov ecx, eax
xor eax, eax
mov word [ecx + 0x40c], ax
mov eax, dword [ebp + 0x9a0]
add eax, 0x9c
lea ecx, [eax + eax*2]
mov eax, dword [ebp + ecx*4]
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x9a0]
add eax, 0x9c
lea eax, [eax + eax*2]
lea ecx, [ebp + eax*4]
mov eax, dword [ecx]
movsx esi, word [eax + 0x40c]
cmp esi, dword [eax + 0x3e0]
jl 0x42eee5
mov ecx, eax
xor eax, eax
mov word [ecx + 0x40c], ax
mov eax, dword [ebp + 0x9a8]
add eax, 0x9f
lea ecx, [eax + eax*2]
mov eax, dword [ebp + ecx*4]
add word [eax + 0x40c], dx
mov eax, dword [ebp + 0x9a8]
add eax, 0x9f
lea edx, [eax + eax*2]
mov eax, dword [ebp + edx*4]
lea ecx, [ebp + edx*4]
movsx edx, word [eax + 0x40c]
cmp edx, dword [eax + 0x3e0]
jl 0x42ef2c
xor ecx, ecx
mov word [eax + 0x40c], cx
add dword [ebp + 0x99c], 3
cmp dword [ebp + 0x99c], 0x26
jl case.0x42eb54.2
mov byte [ebp + 0x994], 0
cmp byte [ebp + 0x8bc], 0
mov ebx, 0x46
je case.default.0x42f0a0
mov eax, dword [ebp + 0x8c0]
cmp eax, 7
ja case.default.0x42f0a0
jmp dword [eax*4 + 0x430520]
mov edi, 1
add dword [ebp + 0x8cc], edi
cmp dword [ebp + 0x8cc], 0x4b
jne 0x42ef8f
push 0
push 0
push 0
push 0xd
lea esi, [edi + 3]
call fcn.00436d00
mov eax, dword [ebp + 0x8c8]
mov edx, dword [ebp + eax*4 + 0x440]
mov ecx, dword [ebp + 0x8cc]
cmp ecx, dword [edx + 0x3e0]
jl case.default.0x42f0a0
add dword [ebp + 0x8c0], edi
inc eax
cmp dword [ebp + 0x8c0], 5
mov dword [ebp + 0x8cc], 0
mov dword [ebp + 0x8c8], eax
jge 0x42efda
mov byte [ebp + 0x8bc], 0
jmp case.default.0x42f0a0
mov byte [ebp + 0x8bd], 1
mov esi, dword [ebp + eax*4 + 0x440]
call fcn.00404d50
jmp case.default.0x42f0a0
inc dword [ebp + 0x8cc]
mov edx, dword [ebp + 0x8c8]
mov eax, dword [ebp + 0x8cc]
mov ecx, dword [ebp + edx*4 + 0x440]
cmp eax, dword [ecx + 0x3e0]
jl case.default.0x42f0a0
mov dword [ebp + 0x8cc], 0
jmp case.default.0x42f0a0
add dword [ebp + 0x8c4], 0xfffffffe
cmp dword [ebp + 0x8c4], 0
jg case.default.0x42f0a0
mov eax, dword [ebp + 0x8c8]
cmp eax, 0xa
jge 0x42f04c
inc eax
mov dword [ebp + 0x8c8], eax
mov dword [ebp + 0x8c0], 5
jmp case.default.0x42f0a0
add dword [ebp + 0x8cc], 0xfffffffd
xor ecx, ecx
cmp dword [ebp + 0x8cc], ecx
jg case.default.0x42f0a0
add dword [ebp + 0x8c8], 0xffffffff
mov eax, dword [ebp + 0x8c8]
jns 0x42f09b
mov byte [ebp + 0x8bd], cl
mov dword [ebp + 0x8cc], ecx
mov dword [ebp + 0x8c8], ecx
mov dword [ebp + 0x8c0], ecx
mov byte [ebp + 0x8bc], cl
jmp case.default.0x42f0a0
cmp eax, 4
ja case.default.0x42f0a0
jmp dword [eax*4 + 0x430540]
mov dword [ebp + 0x8cc], 0x3f
jmp case.default.0x42f0a0
mov dword [ebp + 0x8cc], ebx
jmp case.default.0x42f0a0
mov dword [ebp + 0x8cc], 0x43
jmp case.default.0x42f0a0
mov dword [ebp + 0x8cc], 0x36
jmp case.default.0x42f0a0
mov dword [ebp + 0x8cc], 0x3c
cmp byte [ebp + 0x334], 0
mov edi, 0x51
je case.0x42f7ee.305
mov eax, dword [ebp + 0x33c]
cmp eax, 4
ja case.0x42f7ee.305
mov ecx, dword [ebp + 0x338]
cmp ecx, 0x12c
jg 0x42f7d8
je 0x42f7a6
mov esi, 0xd1
cmp ecx, esi
ja case.0x42f7ee.305
movzx edx, byte [ecx + 0x430588]
jmp dword [edx*4 + 0x430554]
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [ebp + 0x340]
mov edx, dword [ebp + ecx*4 + 0x34c]
cmp dword [edx + 0x424], 0xa
jne 0x42f162
push 0
push 0
push 0
push 5
mov esi, 4
call fcn.00436d00
mov ecx, dword [ebp + 0x33c]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp + 0x340]
add ecx, eax
mov edx, dword [ebp + ecx*4 + 0x34c]
cmp byte [edx + 0x428], 0
je case.0x42f7ee.305
mov ecx, dword [ebp + 0x338]
cmp ecx, 5
jne 0x42f1a4
mov dword [ebp + 0x338], 7
jmp 0x42f1c8
cmp byte [ebp + 0x335], 0
jne 0x42f1be
cmp ecx, 3
je 0x42f1be
mov dword [ebp + 0x338], 1
jmp 0x42f1c8
mov dword [ebp + 0x338], 0xa
mov byte [ebp + 0x348], 1
mov dword [ebp + 0x340], 1
mov esi, dword [ebp + eax*4 + 0x350]
call fcn.00404d50
jmp case.0x42f7ee.305
lea edx, [eax*8]
sub edx, eax
add edx, dword [ebp + 0x340]
mov eax, dword [ebp + edx*4 + 0x34c]
cmp byte [eax + 0x428], 0
je case.0x42f7ee.305
lea eax, [ecx + 1]
cmp eax, 8
mov dword [ebp + 0x338], eax
jl case.0x42f7ee.305
mov dword [ebp + 0x338], 1
jmp case.0x42f7ee.305
mov edx, dword [ebp + 0x340]
lea ecx, [eax*8]
sub ecx, eax
add edx, ecx
mov eax, dword [ebp + edx*4 + 0x34c]
cmp byte [eax + 0x428], 0
je case.0x42f7ee.305
mov dword [ebp + 0x340], 1
mov esi, dword [ebp + ecx*4 + 0x350]
call fcn.00404d50
mov dword [ebp + 0x338], 0x15
jmp case.0x42f7ee.305
push 0x3e8
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov ecx, dword [0x46000c]
cmp dword [ecx + 0x38c], 0xc350
jge 0x42f2c6
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, ebx
jge 0x42f2c0
mov byte [ebp + 0x348], 1
jmp case.0x42f7ee.305
mov ecx, dword [0x46000c]
mov dword [ebp + 0x338], 0x16
mov eax, dword [ecx + 0x38c]
cmp eax, 0x4e20
jge 0x42f309
cmp dword [ecx + 0x434], 0x4e20
jge 0x42f309
push 0
push 2
call fcn.0043bcb0
and eax, 0x80000001
jns 0x42f2fe
dec eax
or eax, 0xfffffffe
inc eax
push eax
call fcn.0042cb30
jmp case.0x42f7ee.305
cmp eax, 0x7530
jg 0x42f32c
cmp dword [ecx + 0x434], 0x7530
jg 0x42f32c
push 0
push 5
push 2
call fcn.0042cb30
jmp case.0x42f7ee.305
cmp eax, 0x11170
jg 0x42f34f
cmp dword [ecx + 0x434], 0x11170
jg 0x42f34f
push 0
push 7
push 3
call fcn.0042cb30
jmp case.0x42f7ee.305
cmp eax, 0x186a0
jg 0x42f372
cmp dword [ecx + 0x434], 0x186a0
jg 0x42f372
push 0
push 0xa
push 4
call fcn.0042cb30
jmp case.0x42f7ee.305
push 0
push 0xa
push 5
call fcn.0042cb30
jmp case.0x42f7ee.305
cmp byte [ebp + 0x860], 0
jne case.0x42f7ee.305
push 0x1f4
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov eax, dword [0x46000c]
mov ecx, dword [eax + 0x38c]
cmp ecx, 0xc350
mov byte [esp + 0x10], 0
jl 0x42f3dc
mov byte [esp + 0x10], 1
mov byte [eax + 0x431], 1
mov dword [eax + 0x434], ecx
mov dword [eax + 0x38c], 0
mov edx, dword [esp + 0x10]
push edx
mov eax, ebp
call fcn.0042ce20
mov byte [ebp + 0x348], 1
jmp case.0x42f7ee.305
push 0x32
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov eax, dword [ebp + 0x33c]
lea ecx, [eax*8]
sub ecx, eax
mov byte [ebp + 0x348], 0
mov dword [ebp + 0x338], 0x64
mov dword [ebp + 0x340], 2
mov esi, dword [ebp + ecx*4 + 0x354]
call fcn.00404d50
push 0
push 0
push 0
push 4
mov esi, 4
call fcn.00436d00
jmp case.0x42f7ee.305
lea edx, [eax*8]
sub edx, eax
add edx, dword [ebp + 0x340]
mov eax, dword [ebp + edx*4 + 0x34c]
cmp byte [eax + 0x428], 0
je case.0x42f7ee.305
mov byte [ebp + 0x348], 0
jmp 0x42f9b8
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [ebp + 0x340]
mov edx, dword [ebp + ecx*4 + 0x34c]
cmp byte [edx + 0x428], 0
je case.0x42f7ee.305
mov dword [ebp + 0x338], 0xc9
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jl 0x42f52a
mov edx, dword [0x46000c]
xor ecx, ecx
cmp dword [edx + 0x434], ecx
jle 0x42f52a
mov eax, dword [0x460010]
mov dword [eax + 0x3a0], ecx
mov dword [eax + 0x3ac], ecx
mov dword [eax + 0x3b0], ecx
mov byte [eax + 0x3b4], cl
mov eax, dword [eax + 0x3cc]
cmp dword [eax + 4], edi
jle 0x42f518
mov edx, dword [eax + 0xc]
cmp dword [edx + 0x144], ecx
je 0x42f518
mov eax, edx
mov eax, dword [eax + 0x144]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov dword [ebp + 0x338], esi
mov dword [ebp + 0x340], 6
jmp 0x42f534
mov dword [ebp + 0x340], 4
mov eax, dword [ebp + 0x33c]
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [ebp + 0x340]
mov esi, dword [ebp + ecx*4 + 0x34c]
call fcn.00404d50
jmp case.0x42f7ee.305
lea edx, [eax*8]
sub edx, eax
add edx, dword [ebp + 0x340]
mov eax, dword [ebp + edx*4 + 0x34c]
cmp byte [eax + 0x428], 0
je case.0x42f7ee.305
mov eax, dword [0x460010]
xor ecx, ecx
mov dword [eax + 0x3a0], ecx
mov dword [eax + 0x3ac], ecx
mov dword [eax + 0x3b0], ecx
mov byte [eax + 0x3b4], cl
mov eax, dword [eax + 0x3cc]
cmp dword [eax + 4], edi
jle 0x42f5c4
mov edx, dword [eax + 0xc]
cmp dword [edx + 0x144], ecx
je 0x42f5c4
mov eax, edx
mov eax, dword [eax + 0x144]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
xor ecx, ecx
mov eax, dword [0x46000c]
cmp dword [eax + 0x434], ecx
jg 0x42f518
mov dword [ebp + 0x338], 0xcd
mov dword [ebp + 0x340], 5
jmp 0x42f534
lea edx, [eax*8]
sub edx, eax
add edx, dword [ebp + 0x340]
mov eax, dword [ebp + edx*4 + 0x34c]
cmp byte [eax + 0x428], 0
je case.0x42f7ee.305
mov dword [ebp + 0x338], 0xce
mov dword [ebp + 0x340], 1
jmp case.0x42f7ee.305
push 0xc8
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov eax, dword [0x46000c]
mov byte [eax + 0x431], 0
mov dword [eax + 0x434], 0
mov eax, dword [ebp + 0x33c]
lea ecx, [eax*8]
sub ecx, eax
mov byte [ebp + 0x348], 1
mov dword [ebp + 0x338], 0x64
mov dword [ebp + 0x340], 2
mov esi, dword [ebp + ecx*4 + 0x354]
call fcn.00404d50
push 0
push 0
push 0
push 4
mov esi, 4
call fcn.00436d00
jmp case.0x42f7ee.305
lea edx, [eax*8]
sub edx, eax
add edx, dword [ebp + 0x340]
mov eax, dword [ebp + edx*4 + 0x34c]
cmp dword [eax + 0x424], ebx
jne 0x42f6d6
push 0
push 0
push 0
push 0x52
mov esi, 5
call fcn.00436d00
mov eax, dword [ebp + 0x33c]
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [ebp + 0x340]
mov edx, dword [ebp + ecx*4 + 0x34c]
cmp byte [edx + 0x428], 0
je case.0x42f7ee.305
mov eax, dword [0x46000c]
mov ecx, dword [eax + 0x434]
mov eax, dword [0x46001c]
mov esi, dword [eax + 0x450]
lea ebx, [eax + 0x64c]
mov edi, eax
mov byte [eax + 0x638], 1
mov dword [eax + 0x63c], 1
mov dword [eax + 0x640], ecx
mov dword [eax + 0x644], 0
mov dword [ebx], 0
call fcn.00404d50
mov eax, dword [0x46002c]
mov byte [eax + 0x824], 1
mov byte [eax + 0x825], 0
mov dword [eax + 0x82c], 0
mov dword [eax + 0x828], 0x63
mov dword [ebx], 0
mov esi, dword [edi + 0x454]
call fcn.00404d50
mov eax, dword [0x46000c]
mov dword [edi + 0x648], 0x26
mov byte [eax + 0x431], 0
mov dword [eax + 0x434], 0
jmp 0x42f9b8
lea ecx, [eax*8]
sub ecx, eax
add ecx, dword [ebp + 0x340]
mov edx, dword [ebp + ecx*4 + 0x34c]
cmp byte [edx + 0x428], 0
je case.0x42f7ee.305
mov dword [ebp + 0x338], 0x12d
jmp case.0x42f7ee.305
sub ecx, 0x12d
cmp ecx, 0x1e
ja case.0x42f7ee.305
movzx eax, byte [ecx + 0x430680]
jmp dword [eax*4 + 0x43065c]
mov ecx, dword [ebp + 0x3bc]
cmp byte [ecx + 0x428], 0
je case.0x42f7ee.305
mov dword [ebp + 0x338], 0x14b
jmp case.0x42f7ee.305
mov edx, dword [ebp + 0x3c0]
cmp byte [edx + 0x428], 0
je case.0x42f7ee.305
mov dword [ebp + 0x338], 0x12c
mov dword [ebp + 0x33c], 4
mov dword [ebp + 0x340], 2
mov esi, dword [ebp + 0x3c4]
call fcn.00404d50
jmp case.0x42f7ee.305
push 0x7d0
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov edx, 0x28a
call fcn.004323d0
mov eax, dword [0x46000c]
mov eax, dword [eax + 0x474]
call fcn.00410870
mov edx, dword [0x46000c]
xor ecx, ecx
cmp dword [edx + 0x474], ecx
sete cl
lea ecx, [ecx*8 + 0x12e]
mov dword [ebp + 0x338], ecx
jmp case.0x42f7ee.305
mov eax, dword [0x460020]
cmp byte [eax + 0xc8c], 0
jne case.0x42f7ee.305
push 0x7d0
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov edx, dword [0x45e904]
mov ecx, dword [0x46000c]
mov eax, 0x10624dd3
imul edx
mov eax, edx
sar eax, 6
mov edx, eax
mov dword [ebp + 0x338], 0x12f
mov esi, dword [ecx + 0x474]
shr edx, 0x1f
add edx, eax
imul edx, dword [esi*8 + 0x45edc8]
imul edx, dword [ecx + 0x3c4]
mov eax, dword [0x460034]
call fcn.00432850
mov edx, 0x3b6
call fcn.004323d0
jmp case.0x42f7ee.305
mov ecx, dword [0x460034]
cmp dword [ecx + 0x504], 0
jne case.0x42f7ee.305
mov dword [ebp + 0x338], 0x130
jmp case.0x42f7ee.305
push 0x1388
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov edx, dword [0x460034]
mov ecx, dword [0x46000c]
mov edx, dword [edx + 0x3b0]
mov ebx, dword [ecx + 0x474]
push 1
lea eax, [esi - 1]
call fcn.00432760
jmp 0x42f9b8
mov edx, dword [0x460020]
cmp byte [edx + 0xc8c], 0
jne case.0x42f7ee.305
mov dword [ebp + 0x338], 0x137
jmp case.0x42f7ee.305
push 0x3e8
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f7ee.305
mov byte [ebp + 0x334], 0
cmp byte [ebp + 0x980], 0
je 0x42fa88
mov eax, dword [ebp + 0x990]
mov esi, dword [ebp + 0x988]
lea esi, [eax + esi*2 + 0x1ba]
lea eax, [eax + eax*4]
xor dl, dl
mov dword [esp + 0x18], 0x3c
mov dword [esp + 0x1c], 0x36
mov dword [esp + 0x20], 0x2f
mov dword [esp + 0x24], 0x28
mov dword [esp + 0x28], 0x1f
mov dword [esp + 0x2c], 0x1e
mov dword [esp + 0x30], 0x24
mov dword [esp + 0x34], 0x2c
mov dword [esp + 0x38], 0x34
mov dword [esp + 0x3c], 0x3d
xor ecx, ecx
lea esi, [ebp + esi*4]
lea eax, [esp + eax*4 + 0x18]
mov edi, edi
mov edi, dword [esi]
movsx edi, word [edi + 0x40c]
cmp edi, dword [eax]
jne 0x42fa55
mov dl, 1
mov dword [ebp + 0x984], ecx
inc ecx
add eax, 4
cmp ecx, 5
jl 0x42fa40
test dl, dl
jne 0x42fa6c
mov dword [ebp + 0x984], 0xffffffff
mov eax, dword [esi]
cmp byte [eax + 0x428], 0
je 0x42fa88
mov byte [ebp + 0x980], 0
mov dword [ebp + 0x984], 0xffffffff
cmp byte [ebp + 0x970], 0
je 0x430088
xor bl, bl
cmp dword [ebp + 0x974], 0x64
mov dword [ebp + 0x984], 0xffffffff
jge 0x42fabe
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jge 0x42fabe
mov bl, 1
xor esi, esi
mov eax, 0x198
lea edi, [esi + 1]
jmp 0x42fad0
mov edx, dword [ebp + 0x990]
add edx, eax
lea ecx, [ebp + edx*4]
mov edx, dword [ecx]
cmp word [edx + 0x408], di
jl 0x42fbbe
mov ecx, edx
add word [ecx + 0x40c], di
mov ecx, dword [ebp + 0x990]
add ecx, eax
mov ecx, dword [ebp + ecx*4]
cmp word [ecx + 0x40c], 3
jne 0x42fb44
test bl, bl
je 0x42fb32
mov edx, 2
mov word [ecx + 0x408], dx
mov ecx, dword [ebp + 0x990]
add ecx, eax
mov edx, dword [ebp + ecx*4]
mov dword [edx + 0x424], 0
jmp 0x42fb3e
mov edx, 3
mov word [ecx + 0x408], dx
mov dword [ebp + 0x984], esi
mov ecx, dword [ebp + 0x990]
add ecx, eax
mov edx, dword [ebp + ecx*4]
cmp word [edx + 0x408], 2
lea ecx, [ebp + ecx*4]
jne 0x42fb68
mov ecx, edx
add dword [ecx + 0x424], edi
jmp 0x42fb7c
cmp word [edx + 0x40c], 4
jle 0x42fb7c
mov ecx, edx
add word [ecx + 0x40c], 5
mov edx, dword [ebp + 0x990]
add edx, eax
mov ecx, dword [ebp + edx*4]
movsx edi, word [ecx + 0x40c]
cmp edi, dword [ecx + 0x3e0]
lea edx, [ebp + edx*4]
mov edi, 1
jl 0x42fbbe
xor edx, edx
mov word [ecx + 0x408], dx
mov ecx, dword [ebp + 0x990]
add ecx, eax
mov edx, dword [ebp + ecx*4]
xor ecx, ecx
mov word [edx + 0x40e], cx
add eax, 2
add esi, edi
cmp eax, 0x1a2
jl 0x42fad0
mov ecx, dword [ebp + 0x988]
mov esi, dword [ebp + 0x978]
add dword [ebp + 0x97c], edi
mov edx, dword [ebp + 0x97c]
lea ecx, [ecx + ecx*2]
lea ecx, [esi + ecx*2]
mov esi, dword [ebp + 0x990]
lea ecx, [esi + ecx*2]
mov ecx, dword [ebp + ecx*4 + 0x5cc]
xor al, al
xor ebx, ebx
cmp edx, dword [ecx + 0x3e0]
jl 0x42fc10
mov dword [ebp + 0x97c], ebx
mov al, 1
mov ecx, dword [ebp + 0x974]
cmp ecx, 0xbc
ja case.0x42fc29.1
movzx edx, byte [ecx + 0x4306c8]
jmp dword [edx*4 + 0x4306a0]
test al, al
je case.0x42fc29.1
mov dword [ebp + 0x978], edi
mov dword [ebp + 0x974], 0xbc
jmp case.0x42fc29.1
cmp dword [ebp + 0x984], ebx
jl 0x42fd8d
mov esi, dword [0x460010]
mov eax, dword [esi + 0x3c8]
add esi, 0x3c8
mov ebx, 0x22
cmp dword [eax + 4], ebx
jle 0x42fca3
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x88], 0
je 0x42fca3
mov edx, ecx
mov eax, dword [edx + 0x88]
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [esp + 0x10]
and eax, 1
jne 0x42fd7b
mov eax, dword [esi]
cmp dword [eax + 4], ebx
jle 0x42fcd8
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x88], 0
je 0x42fcd8
mov edx, ecx
mov eax, dword [edx + 0x88]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
mov eax, dword [esp + 0x14]
and eax, 4
jne 0x42fd7b
mov esi, dword [0x460010]
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0x3c8]
mov byte [esi + 0x39c], 1
mov edi, esi
add esi, 0x3c8
cmp dword [ecx + 4], ebx
jle 0x42fd2f
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x88], 0
je 0x42fd2f
test eax, eax
jl 0x42fd12
xor eax, eax
jmp 0x42fd1e
cmp eax, 0xffffd8f0
jg 0x42fd1e
mov eax, 0xffffd8f0
mov ecx, edx
mov ecx, dword [ecx + 0x88]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x3c]
push ecx
call eax
mov eax, dword [edi + 0x38c]
test eax, eax
jle 0x42fd56
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jge 0x42fd56
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
je 0x42fd56
mov ecx, edx
mov eax, dword [ecx + eax*4]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
xor eax, eax
mov dword [edi + 0x38c], eax
mov dword [edi + 0x398], eax
mov dword [edi + 0x394], eax
cmp byte [edi + 0x324], al
jne 0x42fd7b
mov edi, dword [esi]
mov eax, ebx
call fcn.00401a00
mov eax, dword [ebp + 0x984]
call fcn.00410740
mov edi, 1
xor ebx, ebx
cmp dword [ebp + 0x97c], 0xc
jne 0x42fde2
mov eax, dword [ebp + 0x974]
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [ebp + 0x990]
lea ecx, [eax + edx*2 + 0x198]
mov eax, dword [ebp + ecx*4]
call fcn.00404cf0
mov eax, dword [ebp + 0x974]
cdq
mov ecx, 0x6e
idiv ecx
mov eax, dword [ebp + 0x990]
lea ecx, [eax + edx*2 + 0x198]
mov edx, dword [ebp + ecx*4]
mov eax, edi
mov word [edx + 0x408], ax
cmp dword [ebp + 0x97c], 0x11
jle case.0x42fc29.1
mov dword [ebp + 0x97c], 0xb
jmp case.0x42fc29.1
test al, al
je case.0x42fc29.1
mov dword [ebp + 0x978], edi
mov dword [ebp + 0x974], 0xa
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jge case.0x42fc29.1
mov dword [ebp + 0x974], 0xb
jmp case.0x42fc29.1
cmp dword [ebp + 0x34], ebx
jne 0x42fe55
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x34], edi
call esi
mov dword [ebp + 0xfc], eax
call esi
jmp 0x42fe5b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xfc]
mov dword [ebp + 0x1c4], eax
cmp edx, 0x3e8
jb 0x42fe76
mov dword [ebp + 0x34], ebx
jmp 0x42fe83
cmp dword [ebp + 0x974], 0xb
jne case.0x42fc29.1
mov dword [ebp + 0x97c], ebx
mov dword [ebp + 0x978], 3
mov dword [ebp + 0x974], 0x14
jmp case.0x42fc29.1
test al, al
je case.0x42fc29.1
mov dword [ebp + 0x978], edi
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x1e
jg case.0x42fc29.1
mov dword [ebp + 0x978], 2
jmp case.0x42fc29.1
cmp dword [ebp + 0x97c], 0xc
jne 0x42ffde
cmp ecx, 0x14
jne 0x42ff8b
mov esi, dword [0x460010]
mov eax, dword [esi + 0x390]
mov ecx, dword [esi + 0x3c8]
mov byte [esi + 0x39c], 1
mov edi, esi
add esi, 0x3c8
xor ebx, ebx
cmp dword [ecx + 4], 7
jle 0x42ff3e
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x1c], ebx
je 0x42ff3e
cmp eax, ebx
jl 0x42ff24
xor eax, eax
jmp 0x42ff30
cmp eax, 0xffffd8f0
jg 0x42ff30
mov eax, 0xffffd8f0
mov ecx, edx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x3c]
push ecx
call eax
mov eax, dword [edi + 0x38c]
cmp eax, ebx
jle 0x42ff64
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jge 0x42ff64
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], ebx
je 0x42ff64
mov ecx, edx
mov eax, dword [ecx + eax*4]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
mov dword [edi + 0x38c], ebx
mov dword [edi + 0x398], ebx
mov dword [edi + 0x394], ebx
cmp byte [edi + 0x324], 0
jne 0x42ff8b
mov edi, dword [esi]
mov eax, 7
call fcn.00401a00
mov eax, dword [ebp + 0x974]
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp + 0x990]
lea ecx, [eax + edx*2 + 0x198]
mov eax, dword [ebp + ecx*4]
call fcn.00404cf0
mov eax, dword [ebp + 0x974]
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp + 0x990]
xor ebx, ebx
lea ecx, [eax + edx*2 + 0x198]
mov edx, dword [ebp + ecx*4]
mov eax, 1
mov word [edx + 0x408], ax
mov edi, eax
cmp dword [ebp + 0x97c], 0xd
jne case.0x42fc29.1
mov eax, dword [ebp + 0x974]
cmp eax, 0x18
jge 0x43000c
inc eax
mov dword [ebp + 0x97c], 0xb
mov dword [ebp + 0x974], eax
jmp case.0x42fc29.1
mov dword [ebp + 0x974], 0x1e
jmp case.0x42fc29.1
test al, al
je case.0x42fc29.1
call fcn.0043bcb0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jl 0x430049
cmp dword [ebp + 0x974], 0x1f
je 0x430049
mov dword [ebp + 0x978], edi
mov dword [ebp + 0x974], 0xc
jmp case.0x42fc29.1
mov dword [ebp + 0x978], 4
mov dword [ebp + 0x974], 0x63
jmp case.0x42fc29.1
mov dword [ebp + 0x97c], ebx
mov dword [ebp + 0x978], 3
mov dword [ebp + 0x974], 0x51
jmp case.0x42fc29.1
test al, al
je case.0x42fc29.1
mov byte [ebp + 0x970], 0
jmp case.0x42fc29.1
mov edi, 1
xor ebx, ebx
cmp byte [ebp + 0x860], 0
je case.0x4300b2.1
mov eax, dword [ebp + 0x864]
cmp eax, 0x5a
ja case.0x4300b2.1
movzx edx, byte [eax + 0x4307a0]
jmp dword [edx*4 + 0x430788]
mov eax, dword [ebp + 0x868]
add eax, 0x52
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x870]
mov eax, dword [ebp + eax*4]
cmp byte [eax + 0x428], 0
je case.0x4300b2.1
cmp word [eax + 0x40e], 2
jle case.0x4300b2.1
mov eax, dword [0x460010]
mov dword [eax + 0x3a0], ebx
mov dword [eax + 0x3ac], ebx
mov dword [eax + 0x3b0], ebx
mov byte [eax + 0x3b4], 0
mov eax, dword [eax + 0x3cc]
cmp dword [eax + 4], 7
jle 0x430129
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x1c], ebx
je 0x430129
mov edx, ecx
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
push eax
call edx
mov eax, dword [ebp + 0x86c]
mov dword [ebp + 0x868], eax
lea eax, [eax + eax*2]
mov dword [ebp + 0x864], 0xa
mov dword [ebp + 0x870], edi
mov esi, dword [ebp + eax*4 + 0x3dc]
call fcn.00404d50
mov ebp, dword [ebp + 0x868]
add ebp, 2
cmp ebp, 6
jle 0x430167
mov ebp, 6
mov eax, dword [0x460010]
mov ecx, dword [eax + 0x3a8]
mov edx, dword [eax + 0x3cc]
lea edi, [eax + 0x3cc]
mov esi, eax
mov byte [eax + 0x3b4], 1
mov eax, ebp
call fcn.00401ac0
mov eax, dword [esi + 0x3a4]
xor ebx, ebx
cmp eax, ebx
jle 0x4301b6
mov ecx, dword [edi]
cmp eax, dword [ecx + 4]
jge 0x4301b6
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], ebx
je 0x4301b6
mov ecx, edx
mov eax, dword [ecx + eax*4]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x48]
call eax
cmp byte [esi + 0x324], 0
mov dword [esi + 0x3a4], ebx
mov dword [esi + 0x3b0], ebx
mov dword [esi + 0x3ac], ebx
jne case.0x4300b2.1
mov edi, dword [edi]
mov eax, ebp
call fcn.00401a00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [ebp + 0x868]
mov ecx, dword [ebp + 0x870]
add eax, 0x52
lea eax, [eax + eax*2]
add ecx, eax
mov edx, dword [ebp + ecx*4]
cmp byte [edx + 0x428], 0
je case.0x4300b2.1
mov dword [ebp + 0x864], 0x14
mov dword [ebp + 0x870], 2
mov ebp, dword [ebp + eax*4 + 8]
mov eax, ebp
call fcn.00404cf0
cmp dword [ebp + 0x3cc], ebx
je case.0x4300b2.1
mov eax, dword [ebp + 0x3ec]
cmp eax, ebx
je 0x430251
push eax
call fcn.0043a6b1
add esp, 4
mov dword [ebp + 0x3ec], ebx
mov eax, dword [ebp + 0x3cc]
push ebx
push ebx
push 4
push eax
mov dword [ebp + 0x424], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [ebp + 0x868]
add eax, 0x52
lea ecx, [eax + eax*2]
add ecx, dword [ebp + 0x870]
mov esi, dword [ebp + ecx*4]
cmp dword [esi + 8], ebx
jne 0x43029c
mov dword [esi + 8], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0xd0], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [esi + 0xd0]
mov dword [esi + 0x198], eax
cmp edx, 0x12c
jb case.0x4300b2.1
mov dword [esi + 8], ebx
dec dword [ebp + 0x874]
cmp dword [ebp + 0x874], ebx
jg case.0x4300b2.1
pop edi
pop esi
mov dword [ebp + 0x874], ebx
mov dword [ebp + 0x864], 0x5a
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [ebp + 0x868]
add eax, 0x52
lea eax, [eax + eax*2]
add eax, dword [ebp + 0x870]
mov esi, dword [ebp + eax*4]
cmp dword [esi + 8], ebx
jne 0x430315
mov dword [esi + 8], edi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [esi + 0xd0], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, eax
sub ecx, dword [esi + 0xd0]
mov dword [esi + 0x198], eax
cmp ecx, 0x3e8
jb case.0x4300b2.1
mov dword [esi + 8], ebx
dec dword [ebp + 0x874]
cmp dword [ebp + 0x874], ebx
jg case.0x4300b2.1
pop edi
pop esi
mov byte [ebp + 0x860], 0
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
add dword [ebp + 0x874], 2
cmp dword [ebp + 0x874], 0x26
jl case.0x4300b2.1
mov byte [ebp + 0x860], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret