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

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebp, dword [0x46102c]
push esi
push edi
mov edi, dword [ebp + 0x5c0]
cmp word [edi + 0x408], 1
mov edx, 2
jl case.0x42dc1b.2
mov eax, dword [ebp + 0x5bc]
xor bl, bl
cmp word [eax + 0x408], 0x71
jl 0x42dbac
mov bl, 1
jmp 0x42dbd2
movsx ecx, word [edi + 0x40c]
push ecx
mov esi, 1
call fcn.00401cb0
lea edx, [esi + 1]
test eax, eax
je 0x42dbd2
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 0x42dbfd
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.0x42dc1b.2
movzx eax, byte [eax + 0x4304cc]
jmp dword [eax*4 + 0x4304b4]
mov ecx, dword [ebp + 0x5c4]
mov eax, 0x26
mov word [ecx + 0x408], ax
mov eax, 0xa
jmp 0x42dcde
mov eax, dword [ebp + 0x5c4]
add word [eax + 0x408], 0xfffe
mov eax, dword [ebp + 0x5c4]
cmp word [eax + 0x408], 0
jg case.0x42dc1b.2
xor ecx, ecx
mov word [eax + 0x408], cx
mov eax, dword [ebp + 0x5c0]
mov ecx, 0x14
mov word [eax + 0x408], cx
jmp case.0x42dc1b.2
test bl, bl
je case.0x42dc1b.2
mov eax, 0x63
jmp 0x42dce4
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.0x42dc1b.2
mov eax, dword [ebp + 0x5c0]
mov ecx, 0x64
mov word [eax + 0x408], cx
jmp case.0x42dc1b.2
mov eax, dword [ebp + 0x5c4]
add word [eax + 0x408], 3
mov eax, dword [ebp + 0x5c4]
cmp word [eax + 0x408], 0x26
jl case.0x42dc1b.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.0x42dd0c
mov eax, dword [ebp + 0x8b0]
dec eax
cmp eax, ebx
ja case.default.0x42dd0c
jmp dword [eax*4 + 0x430530]
mov ecx, dword [ebp + 0x8b4]
mov eax, dword [ebp + ecx*4 + 0x47c]
cmp byte [eax + 0x428], 0
je case.default.0x42dd0c
mov dword [ebp + 0x8b0], edx
mov byte [ebp + 0x8ae], 1
jmp case.default.0x42dd0c
push 0x3e8
mov esi, 0xb
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.default.0x42dd0c
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x14
jge 0x42dd73
cmp dword [ebp + 0x8b4], 3
jl 0x42dd7c
cmp byte [ebp + 0x8ad], 0
je 0x42ddd8
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 0x42ddc2
push 0x2d
mov dword [ebp + 0x8b0], eax
call fcn.00436e40
jmp case.default.0x42dd0c
push 0x2c
mov dword [ebp + 0x8b0], 3
call fcn.00436e40
jmp case.default.0x42dd0c
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.00436e40
jmp case.default.0x42dd0c
mov eax, dword [ebp + 0x8b4]
mov ecx, dword [ebp + eax*4 + 0x47c]
cmp byte [ecx + 0x428], 0
jmp 0x42dd27
mov edx, dword [ebp + 0x8b4]
mov eax, dword [ebp + edx*4 + 0x47c]
cmp byte [eax + 0x428], 0
je case.default.0x42dd0c
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.0x42dd0c
mov eax, dword [ebp + 0x8b4]
mov ecx, dword [ebp + eax*4 + 0x47c]
cmp byte [ecx + 0x428], 0
je case.default.0x42dd0c
jmp 0x42de97
mov eax, dword [ebp + 0x47c]
add word [eax + 0x408], dx
mov edx, dword [ebp + 0x47c]
cmp word [edx + 0x408], 0x26
jl case.default.0x42dd0c
mov byte [ebp + 0x8ac], 0
mov dword [ebp + 0x8b0], 0
cmp byte [ebp + 0x89c], 0
je 0x42ded4
add dword [ebp + 0x8a0], 0xfffffffe
cmp dword [ebp + 0x8a0], 0
jg 0x42ded4
mov eax, dword [ebp + 0x8a4]
mov byte [ebp + 0x89c], 0
mov dword [ebp + 0x8a8], eax
cmp byte [ebp + 0x804], 0
je 0x42df12
cmp dword [0x45f904], 0x7d0
jne 0x42defb
add dword [ebp + 0x808], 0xfffffffe
cmp dword [ebp + 0x808], 0
jg 0x42df12
jmp 0x42df0b
add dword [ebp + 0x808], 2
cmp dword [ebp + 0x808], 0x26
jl 0x42df12
mov byte [ebp + 0x804], 0
mov eax, dword [ebp + 0x828]
test eax, eax
jle 0x42df86
sub eax, 1
je 0x42df50
sub eax, 0x62
je 0x42df86
sub eax, 1
jne 0x42df86
mov eax, dword [ebp + 0x82c]
lea ecx, [eax + eax*2]
mov edx, dword [ebp + ecx*4 + 0x838]
cmp byte [edx + 0x428], 0
je 0x42df86
mov dword [ebp + 0x828], 0
jmp 0x42df86
mov eax, dword [ebp + 0x82c]
lea eax, [eax + eax*2]
mov edi, dword [ebp + eax*4 + 0x830]
cmp byte [edi + 0x428], 0
jne 0x42df7c
push 0x1388
mov esi, 1
call fcn.00401cb0
test eax, eax
je 0x42df86
mov dword [ebp + 0x828], 0x63
cmp byte [ebp + 0x88c], 0
je 0x42dfbf
mov ecx, dword [ebp + 0x890]
mov edi, dword [ebp + ecx*4 + 0x7f4]
cmp byte [edi + 0x428], 0
jne 0x42dfb8
push 0x2710
mov esi, 1
call fcn.00401cb0
test eax, eax
je 0x42dfbf
mov byte [ebp + 0x88c], 0
cmp byte [ebp + 0x879], 0
je 0x42e01c
cmp byte [ebp + 0x87a], 0
je 0x42dff4
add dword [ebp + 0x87c], 0xfffffffd
cmp dword [ebp + 0x87c], 0
jg 0x42e01c
mov dword [ebp + 0x87c], 0
mov byte [ebp + 0x878], 1
jmp 0x42e015
add dword [ebp + 0x87c], 3
mov eax, 0x26
cmp dword [ebp + 0x87c], eax
jl 0x42e01c
mov dword [ebp + 0x87c], eax
mov byte [ebp + 0x878], 0
mov byte [ebp + 0x879], 0
cmp byte [ebp + 0x95c], 0
je 0x42e050
push 0x3e8
mov esi, 0xa
mov edi, ebp
call fcn.00401cb0
test eax, eax
je 0x42e050
dec dword [ebp + 0x960]
cmp dword [ebp + 0x960], 0
jg 0x42e050
mov byte [ebp + 0x95c], 0
mov ebx, 0xfffffe50
lea esi, [ebp + 0x91c]
lea edi, [ebp + 0x1b0]
sub ebx, ebp
mov dword [esp + 0x10], 3
jmp 0x42e070
cmp byte [esi - 0x10], 0
je 0x42e0e4
mov edx, dword [esi - 4]
inc dword [esi]
mov eax, dword [esi]
add edx, ebx
add edx, edi
mov ecx, dword [ebp + edx*4 + 0x4a8]
cmp eax, dword [ecx + 0x3e0]
jl 0x42e096
mov dword [esi], 0
cmp dword [edi - 0x190], 0
jne 0x42e0b5
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 edx, eax
sub edx, dword [edi - 0xc8]
mov dword [edi], eax
cmp edx, 0x3e8
jb 0x42e0e4
mov dword [edi - 0x190], 0
dec dword [esi - 0xc]
cmp dword [esi - 0xc], 0
jg 0x42e0e4
mov byte [esi - 0x10], 0
add edi, 4
add esi, 0x14
sub dword [esp + 0x10], 1
jne 0x42e070
cmp byte [ebp + 0x948], 0
je 0x42e122
inc dword [ebp + 0x958]
mov eax, dword [ebp + 0x958]
mov ecx, dword [ebp + 0x4a4]
cmp eax, dword [ecx + 0x3e0]
jl 0x42e122
mov dword [ebp + 0x958], 0
cmp byte [ebp + 0x8f8], 0
je 0x42e1a7
cmp dword [ebp + 0x1c], 0
jne 0x42e14a
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x1c], 1
call esi
mov dword [ebp + 0xe4], eax
call esi
jmp 0x42e150
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xe4]
mov dword [ebp + 0x1ac], eax
cmp edx, 0x3e8
jb 0x42e173
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 0x42e1a7
cmp dword [ebp + 0x8fc], 0
mov dword [ebp + 0x908], 0
jg 0x42e1a7
mov byte [ebp + 0x8f8], 0
cmp byte [ebp + 0x8e4], 0
je 0x42e22c
cmp dword [ebp + 0x18], 0
jne 0x42e1cf
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x18], 1
call esi
mov dword [ebp + 0xe0], eax
call esi
jmp 0x42e1d5
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xe0]
mov dword [ebp + 0x1a8], eax
cmp edx, 0x3e8
jb 0x42e208
mov dword [ebp + 0x18], 0
dec dword [ebp + 0x8e8]
cmp dword [ebp + 0x8e8], 0
jg 0x42e208
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 0x42e22c
mov dword [ebp + 0x8f4], 0
cmp byte [ebp + 0x8d0], 0
je 0x42e2e8
cmp dword [ebp + 0x14], 0
jne 0x42e258
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x14], 1
call esi
mov dword [ebp + 0xdc], eax
call esi
jmp 0x42e25e
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xdc]
mov dword [ebp + 0x1a4], eax
cmp edx, 0x3e8
jb 0x42e281
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 [0x45f904], 0x3e8
setne dl
lea edx, [eax + edx*2]
mov edx, dword [ebp + edx*4 + 0x46c]
cmp ecx, dword [edx + 0x3e0]
jl 0x42e2e8
mov dword [ebp + 0x8e0], 0
test eax, eax
jne 0x42e2ce
mov dword [ebp + 0x8dc], 1
jmp 0x42e2e8
cmp dword [ebp + 0x8d4], 0
jg 0x42e2e8
mov dword [ebp + 0x8dc], 0
mov byte [ebp + 0x8d0], 0
cmp byte [ebp + 0x9ac], 0
je 0x42ec78
mov eax, dword [ebp + 0x9b4]
mov ebx, 6
cmp eax, ebx
ja case.0x42e325.3
jmp dword [eax*4 + 0x430548]
mov eax, dword [ebp + 0x9b0]
cmp eax, 0x63
ja case.0x42e325.3
movzx eax, byte [eax + 0x43057c]
jmp dword [eax*4 + 0x430564]
mov edi, dword [ebp + 0x688]
push 0xbb8
mov esi, 3
call fcn.00401cb0
test eax, eax
je case.0x42e325.3
mov dword [ebp + 0x9b0], 0
jmp case.0x42e325.3
push 0
push 0
push 0
push 0x17
mov esi, 4
call fcn.00436e40
mov dword [ebp + 0x9b8], 0
mov esi, dword [ebp + 0x688]
jmp 0x42ec37
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp dword [edx + 0x424], 0x64
jne 0x42e3a6
push 0
push 0
push 0
push ebx
mov esi, 3
call fcn.00436e40
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e325.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.0x42e325.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.0x42e325.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.0x42e325.3
call fcn.0043bdf0
cdq
mov ecx, 0x1f4
idiv ecx
cmp edx, 0x78
jg 0x42e48f
cmp byte [ebp + 0x9bc], 0
jne 0x42e48f
mov dword [ebp + 0x9b8], 2
mov esi, dword [ebp + 0x690]
call fcn.00404d50
mov dword [ebp + 0x9b0], 0x63
jmp case.0x42e325.3
cmp byte [ebp + 0x9bc], 0
mov dword [ebp + 0x9b0], 0
je 0x42e4ba
call fcn.0043bdf0
cdq
mov ecx, 3
idiv ecx
add edx, 2
mov dword [ebp + 0x9b4], edx
jmp 0x42e4f2
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jg 0x42e4d8
mov dword [ebp + 0x9b4], 5
jmp 0x42e4f2
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42e4e9
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.00436e40
jmp case.0x42e325.3
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp dword [eax + 0x424], 0xf
jne 0x42e531
push 0
push 0
push 0
push 0x28
mov esi, 4
call fcn.00436e40
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp byte [edx + 0x428], 0
je case.0x42e325.3
mov byte [ebp + 0x9ac], 0
jmp case.0x42e325.3
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e59e
sub eax, 1
jne case.0x42e325.3
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e325.3
mov dword [ebp + 0x9b4], 0
mov dword [ebp + 0x9b0], 0x58
jmp case.0x42e325.3
call fcn.0043bdf0
cdq
mov ecx, 7
idiv ecx
lea eax, [edx + 0x11]
mov dword [ebp + 0x9b8], eax
mov esi, dword [ebp + eax*4 + 0x688]
jmp 0x42ec37
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e6a4
sub eax, 1
je 0x42e61e
sub eax, 1
jne case.0x42e325.3
cmp dword [ebp + 0x9b8], 9
jne 0x42e855
mov edx, dword [ebp + 0x6ac]
mov eax, dword [edx + 0x424]
cmp eax, 1
jne 0x42e608
push 0
push 0
push 0
push 0x2e
jmp 0x42e84b
cmp eax, 0x3c
jne 0x42e855
push 0
push 0
push 0
push 0x2f
jmp 0x42e84b
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
mov eax, dword [eax + 0x424]
cmp eax, 0x6e
jne 0x42e640
push 0
push 0
push 0
push 0x27
jmp 0x42e64f
cmp eax, 0xeb
jne 0x42e659
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436e40
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp byte [edx + 0x428], 0
je case.0x42e325.3
call fcn.0043bdf0
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.0x42e325.3
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42e6b5
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
mov dword [ebp + 0x9b8], eax
mov esi, dword [ebp + eax*4 + 0x688]
jmp 0x42ec37
mov eax, dword [ebp + 0x9b0]
cmp eax, 3
ja case.0x42e325.3
jmp dword [eax*4 + 0x4305e0]
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42e6f1
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
mov dword [ebp + 0x9b8], eax
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x37
jmp 0x42ec0e
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
mov eax, dword [ecx + 0x424]
cmp eax, 0x6e
jne 0x42e731
push 0
push 0
push 0
push 0x27
jmp 0x42e740
cmp eax, 0xeb
jne 0x42e74a
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436e40
mov eax, dword [ebp + 0x9b8]
mov edx, dword [ebp + eax*4 + 0x688]
cmp byte [edx + 0x428], 0
je case.0x42e325.3
cmp eax, 5
je 0x42e78c
cmp eax, ebx
je 0x42e78c
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42e77e
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xb
mov dword [ebp + 0x9b8], eax
jmp 0x42e689
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42e79d
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xd
mov dword [ebp + 0x9b8], eax
jmp 0x42e689
mov eax, dword [ebp + 0x9b8]
cmp eax, 0xb
je 0x42e7bb
cmp eax, 0xd
jne 0x42e7dd
mov ecx, dword [ebp + eax*4 + 0x688]
cmp dword [ecx + 0x424], 1
jne 0x42e7dd
push 0
push 0
push 0
push 0x30
mov esi, 4
call fcn.00436e40
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp byte [eax + 0x428], 0
je case.0x42e325.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.00436e40
jmp case.0x42e325.3
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
cmp dword [edx + 0x424], 0x7d
jne 0x42e855
push 0
push 0
push 0
push 0x2b
mov esi, 4
call fcn.00436e40
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e325.3
mov byte [ebp + 0x9ac], 0
jmp case.0x42e325.3
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42e6a4
sub eax, 1
je 0x42e913
sub eax, 1
jne case.0x42e325.3
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
mov eax, dword [eax + 0x424]
cmp eax, 1
jne 0x42e8c1
push 0
push 0
push 0
push 0x2e
jmp 0x42e527
cmp eax, 0x3c
jne 0x42e8d3
push 0
push 0
push 0
push 0x2f
jmp 0x42e527
cmp eax, 0xaa
jne 0x42e8e7
push 0
push 0
push 0
push 0x25
jmp 0x42e527
cmp eax, 0x118
jne 0x42e8fb
push 0
push 0
push 0
push 0x2d
jmp 0x42e527
cmp eax, 0x177
jne 0x42e531
push 0
push 0
push 0
push 0x2c
jmp 0x42e527
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
mov eax, dword [ecx + 0x424]
cmp eax, 0x6e
jne 0x42e935
push 0
push 0
push 0
push 0x27
jmp 0x42e944
cmp eax, 0xeb
jne 0x42e94e
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436e40
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp byte [eax + 0x428], 0
je case.0x42e325.3
mov dword [ebp + 0x9b8], 0x10
mov esi, dword [ebp + 0x6c8]
call fcn.00404d50
mov dword [ebp + 0x9b0], 2
jmp case.0x42e325.3
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42ea89
sub eax, 1
je 0x42e9de
sub eax, 1
jne case.0x42e325.3
mov eax, dword [ebp + 0x9b8]
cmp eax, 0xb
je 0x42e9bd
cmp eax, 0xd
jne 0x42eb3f
mov ecx, dword [ebp + eax*4 + 0x688]
cmp dword [ecx + 0x424], 1
jne 0x42eb3f
push 0
push 0
push 0
push 0x30
jmp 0x42eb35
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
mov eax, dword [edx + 0x424]
cmp eax, 0x6e
jne 0x42ea00
push 0
push 0
push 0
push 0x27
jmp 0x42ea0f
cmp eax, 0xeb
jne 0x42ea19
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436e40
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e325.3
cmp eax, 5
je 0x42ea52
cmp eax, ebx
je 0x42ea52
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42ea4d
dec eax
or eax, 0xfffffffe
inc eax
add eax, 0xb
jmp 0x42ea66
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42ea63
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.0x42e325.3
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42ea9a
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
mov dword [ebp + 0x9b8], eax
call fcn.0043bdf0
mov ecx, 0x78
jmp 0x42ec08
mov eax, dword [ebp + 0x9b0]
sub eax, 0
je 0x42ebdb
sub eax, 1
je 0x42eb65
sub eax, 1
jne case.0x42e325.3
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
mov eax, dword [ecx + 0x424]
cmp eax, 1
jne 0x42eaf5
push 0
push 0
push 0
push 0x2e
jmp 0x42eb35
cmp eax, 0x3c
jne 0x42eb04
push 0
push 0
push 0
push 0x2f
jmp 0x42eb35
cmp eax, 0xaa
jne 0x42eb15
push 0
push 0
push 0
push 0x25
jmp 0x42eb35
cmp eax, 0x118
jne 0x42eb26
push 0
push 0
push 0
push 0x2d
jmp 0x42eb35
cmp eax, 0x186
jne 0x42eb3f
push 0
push 0
push 0
push 0x26
mov esi, 4
call fcn.00436e40
mov edx, dword [ebp + 0x9b8]
mov eax, dword [ebp + edx*4 + 0x688]
cmp byte [eax + 0x428], 0
je case.0x42e325.3
mov byte [ebp + 0x9ac], 0
jmp case.0x42e325.3
mov ecx, dword [ebp + 0x9b8]
mov edx, dword [ebp + ecx*4 + 0x688]
mov eax, dword [edx + 0x424]
cmp eax, 0x6e
jne 0x42eb87
push 0
push 0
push 0
push 0x27
jmp 0x42eb96
cmp eax, 0xeb
jne 0x42eba0
push 0
push 0
push 0
push 0x31
mov esi, 4
call fcn.00436e40
mov eax, dword [ebp + 0x9b8]
mov ecx, dword [ebp + eax*4 + 0x688]
cmp byte [ecx + 0x428], 0
je case.0x42e325.3
mov dword [ebp + 0x9b8], 0xf
mov esi, dword [ebp + 0x6c4]
call fcn.00404d50
mov dword [ebp + 0x9b0], 2
jmp case.0x42e325.3
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42ebec
dec eax
or eax, 0xfffffffe
inc eax
add eax, 3
cmp byte [ebp + 0x9bc], 0
mov dword [ebp + 0x9b8], eax
je 0x42ec2a
call fcn.0043bdf0
mov ecx, 0x64
cdq
idiv ecx
cmp edx, 5
jg 0x42ec2a
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42ec21
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 0x42ec78
mov eax, dword [0x46102c]
push 0
call fcn.0042cf50
mov eax, dword [0x461010]
mov dword [eax + 0x374], ebx
cmp dword [eax + 0x370], ebx
jne 0x42ec78
mov dword [eax + 0x370], 0
cmp byte [ebp + 0x994], 0
je case.0x42ec9b.2
mov eax, dword [ebp + 0x998]
cmp eax, 0x5a
ja case.0x42ec9b.2
movzx eax, byte [eax + 0x430604]
jmp dword [eax*4 + 0x4305f0]
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.0x42ec9b.2
cmp dword [ebp + 0x998], 0
jne 0x42ed2f
push 0
push 0
push 0
push 0x13
lea esi, [edi + 3]
mov dword [ebp + 0x998], 0xa
call fcn.00436e40
jmp 0x42ed39
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.0x42ec9b.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 0x42eddd
mov ecx, dword [ebp + 0x9a8]
xor eax, eax
cmp ecx, edi
jle 0x42edc9
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.00436e40
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.0x42ec9b.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.0x42ec9b.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 0x42eeef
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 0x42ef3e
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.0x42ec9b.2
xor ecx, ecx
mov word [eax + 0x40c], cx
jmp case.0x42ec9b.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 0x42efe5
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 0x42f02c
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 0x42f073
xor ecx, ecx
mov word [eax + 0x40c], cx
add dword [ebp + 0x99c], 3
cmp dword [ebp + 0x99c], 0x26
jl case.0x42ec9b.2
mov byte [ebp + 0x994], 0
cmp byte [ebp + 0x8bc], 0
mov ebx, 0x46
je case.default.0x42f1e7
mov eax, dword [ebp + 0x8c0]
cmp eax, 7
ja case.default.0x42f1e7
jmp dword [eax*4 + 0x430660]
mov edi, 1
add dword [ebp + 0x8cc], edi
cmp dword [ebp + 0x8cc], 0x4b
jne 0x42f0d6
push 0
push 0
push 0
push 0xd
lea esi, [edi + 3]
call fcn.00436e40
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.0x42f1e7
add dword [ebp + 0x8c0], edi
inc eax
cmp dword [ebp + 0x8c0], 5
mov dword [ebp + 0x8cc], 0
mov dword [ebp + 0x8c8], eax
jge 0x42f121
mov byte [ebp + 0x8bc], 0
jmp case.default.0x42f1e7
mov byte [ebp + 0x8bd], 1
mov esi, dword [ebp + eax*4 + 0x440]
call fcn.00404d50
jmp case.default.0x42f1e7
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.0x42f1e7
mov dword [ebp + 0x8cc], 0
jmp case.default.0x42f1e7
add dword [ebp + 0x8c4], 0xfffffffe
cmp dword [ebp + 0x8c4], 0
jg case.default.0x42f1e7
mov eax, dword [ebp + 0x8c8]
cmp eax, 0xa
jge 0x42f193
inc eax
mov dword [ebp + 0x8c8], eax
mov dword [ebp + 0x8c0], 5
jmp case.default.0x42f1e7
add dword [ebp + 0x8cc], 0xfffffffd
xor ecx, ecx
cmp dword [ebp + 0x8cc], ecx
jg case.default.0x42f1e7
add dword [ebp + 0x8c8], 0xffffffff
mov eax, dword [ebp + 0x8c8]
jns 0x42f1e2
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.0x42f1e7
cmp eax, 4
ja case.default.0x42f1e7
jmp dword [eax*4 + 0x430680]
mov dword [ebp + 0x8cc], 0x3f
jmp case.default.0x42f1e7
mov dword [ebp + 0x8cc], ebx
jmp case.default.0x42f1e7
mov dword [ebp + 0x8cc], 0x43
jmp case.default.0x42f1e7
mov dword [ebp + 0x8cc], 0x36
jmp case.default.0x42f1e7
mov dword [ebp + 0x8cc], 0x3c
cmp byte [ebp + 0x334], 0
mov edi, 0x51
je case.0x42f935.305
mov eax, dword [ebp + 0x33c]
cmp eax, 4
ja case.0x42f935.305
mov ecx, dword [ebp + 0x338]
cmp ecx, 0x12c
jg 0x42f91f
je 0x42f8ed
mov esi, 0xd1
cmp ecx, esi
ja case.0x42f935.305
movzx edx, byte [ecx + 0x4306c8]
jmp dword [edx*4 + 0x430694]
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 0x42f2a9
push 0
push 0
push 0
push 5
mov esi, 4
call fcn.00436e40
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.0x42f935.305
mov ecx, dword [ebp + 0x338]
cmp ecx, 5
jne 0x42f2eb
mov dword [ebp + 0x338], 7
jmp 0x42f30f
cmp byte [ebp + 0x335], 0
jne 0x42f305
cmp ecx, 3
je 0x42f305
mov dword [ebp + 0x338], 1
jmp 0x42f30f
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.0x42f935.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.0x42f935.305
lea eax, [ecx + 1]
cmp eax, 8
mov dword [ebp + 0x338], eax
jl case.0x42f935.305
mov dword [ebp + 0x338], 1
jmp case.0x42f935.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.0x42f935.305
mov dword [ebp + 0x340], 1
mov esi, dword [ebp + ecx*4 + 0x350]
call fcn.00404d50
mov dword [ebp + 0x338], 0x15
jmp case.0x42f935.305
push 0x3e8
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov ecx, dword [0x46100c]
cmp dword [ecx + 0x38c], 0xc350
jge 0x42f40d
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, ebx
jge 0x42f407
mov byte [ebp + 0x348], 1
jmp case.0x42f935.305
mov ecx, dword [0x46100c]
mov dword [ebp + 0x338], 0x16
mov eax, dword [ecx + 0x38c]
cmp eax, 0x4e20
jge 0x42f450
cmp dword [ecx + 0x434], 0x4e20
jge 0x42f450
push 0
push 2
call fcn.0043bdf0
and eax, 0x80000001
jns 0x42f445
dec eax
or eax, 0xfffffffe
inc eax
push eax
call fcn.0042cc60
jmp case.0x42f935.305
cmp eax, 0x7530
jg 0x42f473
cmp dword [ecx + 0x434], 0x7530
jg 0x42f473
push 0
push 5
push 2
call fcn.0042cc60
jmp case.0x42f935.305
cmp eax, 0x11170
jg 0x42f496
cmp dword [ecx + 0x434], 0x11170
jg 0x42f496
push 0
push 7
push 3
call fcn.0042cc60
jmp case.0x42f935.305
cmp eax, 0x186a0
jg 0x42f4b9
cmp dword [ecx + 0x434], 0x186a0
jg 0x42f4b9
push 0
push 0xa
push 4
call fcn.0042cc60
jmp case.0x42f935.305
push 0
push 0xa
push 5
call fcn.0042cc60
jmp case.0x42f935.305
cmp byte [ebp + 0x860], 0
jne case.0x42f935.305
push 0x1f4
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov eax, dword [0x46100c]
mov ecx, dword [eax + 0x38c]
cmp ecx, 0xc350
mov byte [esp + 0x10], 0
jl 0x42f523
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.0042cf50
mov byte [ebp + 0x348], 1
jmp case.0x42f935.305
push 0x32
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.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.00436e40
jmp case.0x42f935.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.0x42f935.305
mov byte [ebp + 0x348], 0
jmp 0x42faff
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.0x42f935.305
mov dword [ebp + 0x338], 0xc9
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jl 0x42f671
mov edx, dword [0x46100c]
xor ecx, ecx
cmp dword [edx + 0x434], ecx
jle 0x42f671
mov eax, dword [0x461010]
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 0x42f65f
mov edx, dword [eax + 0xc]
cmp dword [edx + 0x144], ecx
je 0x42f65f
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 0x42f67b
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.0x42f935.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.0x42f935.305
mov eax, dword [0x461010]
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 0x42f70b
mov edx, dword [eax + 0xc]
cmp dword [edx + 0x144], ecx
je 0x42f70b
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 [0x46100c]
cmp dword [eax + 0x434], ecx
jg 0x42f65f
mov dword [ebp + 0x338], 0xcd
mov dword [ebp + 0x340], 5
jmp 0x42f67b
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.0x42f935.305
mov dword [ebp + 0x338], 0xce
mov dword [ebp + 0x340], 1
jmp case.0x42f935.305
push 0xc8
mov esi, 3
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov eax, dword [0x46100c]
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.00436e40
jmp case.0x42f935.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 0x42f81d
push 0
push 0
push 0
push 0x52
mov esi, 5
call fcn.00436e40
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.0x42f935.305
mov eax, dword [0x46100c]
mov ecx, dword [eax + 0x434]
mov eax, dword [0x46101c]
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 [0x46102c]
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 [0x46100c]
mov dword [edi + 0x648], 0x26
mov byte [eax + 0x431], 0
mov dword [eax + 0x434], 0
jmp 0x42faff
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.0x42f935.305
mov dword [ebp + 0x338], 0x12d
jmp case.0x42f935.305
sub ecx, 0x12d
cmp ecx, 0x1e
ja case.0x42f935.305
movzx eax, byte [ecx + 0x4307c0]
jmp dword [eax*4 + 0x43079c]
mov ecx, dword [ebp + 0x3bc]
cmp byte [ecx + 0x428], 0
je case.0x42f935.305
mov dword [ebp + 0x338], 0x14b
jmp case.0x42f935.305
mov edx, dword [ebp + 0x3c0]
cmp byte [edx + 0x428], 0
je case.0x42f935.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.0x42f935.305
push 0x7d0
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov edx, 0x28a
call fcn.00432510
mov eax, dword [0x46100c]
mov eax, dword [eax + 0x474]
call fcn.004108b0
mov edx, dword [0x46100c]
xor ecx, ecx
cmp dword [edx + 0x474], ecx
sete cl
lea ecx, [ecx*8 + 0x12e]
mov dword [ebp + 0x338], ecx
jmp case.0x42f935.305
mov eax, dword [0x461020]
cmp byte [eax + 0xc8c], 0
jne case.0x42f935.305
push 0x7d0
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov eax, dword [0x46100c]
mov dword [ebp + 0x338], 0x12f
mov edx, dword [eax + 0x3c4]
mov ecx, dword [eax + 0x474]
dec edx
mov esi, edx
imul esi, dword [ecx*8 + 0x45fdc8]
mov ecx, dword [0x45f904]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul esi, eax
mov eax, dword [0x461034]
mov edx, esi
call fcn.00432990
mov edx, 0x3b6
call fcn.00432510
jmp case.0x42f935.305
mov ecx, dword [0x461034]
cmp dword [ecx + 0x504], 0
jne case.0x42f935.305
mov dword [ebp + 0x338], 0x130
jmp case.0x42f935.305
push 0x1388
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov edx, dword [0x461034]
mov ecx, dword [0x46100c]
mov edx, dword [edx + 0x3b0]
mov ebx, dword [ecx + 0x474]
push 1
lea eax, [esi - 1]
call fcn.004328a0
jmp 0x42faff
mov edx, dword [0x461020]
cmp byte [edx + 0xc8c], 0
jne case.0x42f935.305
mov dword [ebp + 0x338], 0x137
jmp case.0x42f935.305
push 0x3e8
mov esi, 2
mov edi, ebp
call fcn.00401cb0
test eax, eax
je case.0x42f935.305
mov byte [ebp + 0x334], 0
cmp byte [ebp + 0x980], 0
je 0x42fbcd
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, dword [esi]
movsx edi, word [edi + 0x40c]
cmp edi, dword [eax]
jne 0x42fb9a
mov dl, 1
mov dword [ebp + 0x984], ecx
inc ecx
add eax, 4
cmp ecx, 5
jl 0x42fb85
test dl, dl
jne 0x42fbb1
mov dword [ebp + 0x984], 0xffffffff
mov eax, dword [esi]
cmp byte [eax + 0x428], 0
je 0x42fbcd
mov byte [ebp + 0x980], 0
mov dword [ebp + 0x984], 0xffffffff
cmp byte [ebp + 0x970], 0
je 0x4301c8
xor bl, bl
cmp dword [ebp + 0x974], 0x64
mov dword [ebp + 0x984], 0xffffffff
jge 0x42fc03
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0xa
jge 0x42fc03
mov bl, 1
xor esi, esi
mov eax, 0x198
lea edi, [esi + 1]
lea ecx, [ecx]
mov edx, dword [ebp + 0x990]
add edx, eax
lea ecx, [ebp + edx*4]
mov edx, dword [ecx]
cmp word [edx + 0x408], di
jl 0x42fcfe
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 0x42fc84
test bl, bl
je 0x42fc72
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 0x42fc7e
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 0x42fca8
mov ecx, edx
add dword [ecx + 0x424], edi
jmp 0x42fcbc
cmp word [edx + 0x40c], 4
jle 0x42fcbc
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 0x42fcfe
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 0x42fc10
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 0x42fd50
mov dword [ebp + 0x97c], ebx
mov al, 1
mov ecx, dword [ebp + 0x974]
cmp ecx, 0xbc
ja case.0x42fd69.1
movzx edx, byte [ecx + 0x430808]
jmp dword [edx*4 + 0x4307e0]
test al, al
je case.0x42fd69.1
mov dword [ebp + 0x978], edi
mov dword [ebp + 0x974], 0xbc
jmp case.0x42fd69.1
cmp dword [ebp + 0x984], ebx
jl 0x42fecd
mov esi, dword [0x461010]
mov eax, dword [esi + 0x3c8]
add esi, 0x3c8
mov ebx, 0x22
cmp dword [eax + 4], ebx
jle 0x42fde3
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x88], 0
je 0x42fde3
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 0x42febb
mov eax, dword [esi]
cmp dword [eax + 4], ebx
jle 0x42fe18
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x88], 0
je 0x42fe18
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 0x42febb
mov esi, dword [0x461010]
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 0x42fe6f
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x88], 0
je 0x42fe6f
test eax, eax
jl 0x42fe52
xor eax, eax
jmp 0x42fe5e
cmp eax, 0xffffd8f0
jg 0x42fe5e
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 0x42fe96
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jge 0x42fe96
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
je 0x42fe96
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 0x42febb
mov edi, dword [esi]
mov eax, ebx
call fcn.00401a00
mov eax, dword [ebp + 0x984]
call fcn.00410780
mov edi, 1
xor ebx, ebx
cmp dword [ebp + 0x97c], 0xc
jne 0x42ff22
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.0x42fd69.1
mov dword [ebp + 0x97c], 0xb
jmp case.0x42fd69.1
test al, al
je case.0x42fd69.1
mov dword [ebp + 0x978], edi
mov dword [ebp + 0x974], 0xa
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x50
jge case.0x42fd69.1
mov dword [ebp + 0x974], 0xb
jmp case.0x42fd69.1
cmp dword [ebp + 0x34], ebx
jne 0x42ff95
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp + 0x34], edi
call esi
mov dword [ebp + 0xfc], eax
call esi
jmp 0x42ff9b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, eax
sub edx, dword [ebp + 0xfc]
mov dword [ebp + 0x1c4], eax
cmp edx, 0x3e8
jb 0x42ffb6
mov dword [ebp + 0x34], ebx
jmp 0x42ffc3
cmp dword [ebp + 0x974], 0xb
jne case.0x42fd69.1
mov dword [ebp + 0x97c], ebx
mov dword [ebp + 0x978], 3
mov dword [ebp + 0x974], 0x14
jmp case.0x42fd69.1
test al, al
je case.0x42fd69.1
mov dword [ebp + 0x978], edi
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x1e
jg case.0x42fd69.1
mov dword [ebp + 0x978], 2
jmp case.0x42fd69.1
cmp dword [ebp + 0x97c], 0xc
jne 0x43011e
cmp ecx, 0x14
jne 0x4300cb
mov esi, dword [0x461010]
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 0x43007e
mov edx, dword [ecx + 0xc]
cmp dword [edx + 0x1c], ebx
je 0x43007e
cmp eax, ebx
jl 0x430064
xor eax, eax
jmp 0x430070
cmp eax, 0xffffd8f0
jg 0x430070
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 0x4300a4
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jge 0x4300a4
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], ebx
je 0x4300a4
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 0x4300cb
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.0x42fd69.1
mov eax, dword [ebp + 0x974]
cmp eax, 0x18
jge 0x43014c
inc eax
mov dword [ebp + 0x97c], 0xb
mov dword [ebp + 0x974], eax
jmp case.0x42fd69.1
mov dword [ebp + 0x974], 0x1e
jmp case.0x42fd69.1
test al, al
je case.0x42fd69.1
call fcn.0043bdf0
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x19
jl 0x430189
cmp dword [ebp + 0x974], 0x1f
je 0x430189
mov dword [ebp + 0x978], edi
mov dword [ebp + 0x974], 0xc
jmp case.0x42fd69.1
mov dword [ebp + 0x978], 4
mov dword [ebp + 0x974], 0x63
jmp case.0x42fd69.1
mov dword [ebp + 0x97c], ebx
mov dword [ebp + 0x978], 3
mov dword [ebp + 0x974], 0x51
jmp case.0x42fd69.1
test al, al
je case.0x42fd69.1
mov byte [ebp + 0x970], 0
jmp case.0x42fd69.1
mov edi, 1
xor ebx, ebx
cmp byte [ebp + 0x860], 0
je case.0x4301f2.1
mov eax, dword [ebp + 0x864]
cmp eax, 0x5a
ja case.0x4301f2.1
movzx edx, byte [eax + 0x4308e0]
jmp dword [edx*4 + 0x4308c8]
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.0x4301f2.1
cmp word [eax + 0x40e], 2
jle case.0x4301f2.1
mov eax, dword [0x461010]
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 0x430269
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 0x1c], ebx
je 0x430269
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 0x4302a7
mov ebp, 6
mov eax, dword [0x461010]
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 0x4302f6
mov ecx, dword [edi]
cmp eax, dword [ecx + 4]
jge 0x4302f6
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], ebx
je 0x4302f6
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.0x4301f2.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.0x4301f2.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.0x4301f2.1
mov eax, dword [ebp + 0x3ec]
cmp eax, ebx
je 0x430391
push eax
call fcn.0043a7f1
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 0x4303dc
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.0x4301f2.1
mov dword [esi + 8], ebx
dec dword [ebp + 0x874]
cmp dword [ebp + 0x874], ebx
jg case.0x4301f2.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 0x430455
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.0x4301f2.1
mov dword [esi + 8], ebx
dec dword [ebp + 0x874]
cmp dword [ebp + 0x874], ebx
jg case.0x4301f2.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.0x4301f2.1
mov byte [ebp + 0x860], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret