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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3a8
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
mov eax, dword [0x5fdb08]
push eax
call fcn.00460c80
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [0x5fda6c], 0
jne 0x4b6237
mov dword [ebp - 0x28], 0
jmp 0x4b62bb
mov dword [ebp - 0x28], 1
jmp 0x4b6249
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp eax, dword [edx*4 + 0x659800]
jg 0x4b62aa
mov ecx, dword [ebp - 0x30]
imul ecx, ecx, 0x94
mov edx, dword [ebp - 0x28]
cmp dword [ecx + edx*4 + 0x70e500], 0
jne 0x4b6270
jmp 0x4b6240
mov eax, dword [ebp - 0x30]
imul eax, eax, 0x94
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + ecx*4 + 0x70e500]
movsx eax, byte [edx]
sub eax, 0x30
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 9
jle 0x4b629b
mov ecx, dword [ebp - 0x24]
sub ecx, 7
mov dword [ebp - 0x24], ecx
mov edx, dword [0x5fda6c]
cmp edx, dword [ebp - 0x24]
jne 0x4b62a8
jmp 0x4b62aa
jmp 0x4b6240
mov eax, dword [0x5fda6c]
cmp eax, dword [ebp - 0x24]
je 0x4b62bb
mov dword [ebp - 0x28], 0
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
movsx eax, byte [edx + 1]
sub eax, 0x61
mov dword [ebp - 0x14], eax
push 0xff
push 4
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.004a7d70
add esp, 0xc
push eax
call fcn.00535e08
add esp, 4
fstp dword [ebp - 0x1c]
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
movsx edx, byte [ecx + 1]
cmp edx, 0x7c
jne 0x4b635b
fld dword [ebp - 0x1c]
fcomp qword [0x54d1f0]
fnstsw ax
test ah, 0x44
jp 0x4b635b
call fcn.004a6740
test eax, eax
je 0x4b633d
push 0
call fcn.004a6e90
add esp, 4
push 0
call fcn.004a66e0
add esp, 4
mov eax, dword [0x5fdb48]
mov dword [0x5fd738], eax
mov dword [0x7191c8], 0
mov dword [0x719378], 0
fld dword [ebp - 0x1c]
call fcn.00532f90
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a4]
sub ecx, 0x3b0
mov dword [ebp - 0x3a4], ecx
cmp dword [ebp - 0x3a4], 0x37
ja case.0x4b638e.48
mov edx, dword [ebp - 0x3a4]
jmp dword [edx*4 + 0x4b724c]
mov dword [ebp - 8], 0
jmp 0x4b63a7
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x1a
jg 0x4b63bd
mov ecx, dword [ebp - 8]
mov dword [ecx*4 + 0x658f20], 0
jmp 0x4b639e
jmp 0x4b71e7
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0
jmp 0x4b71e7
movsx eax, word [0x65bdd6]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
mov edx, dword [ebp - 0x14]
mov ax, word [edx*4 + 0x658f20]
mov word [0x65bdd6], ax
jmp 0x4b71e7
cmp dword [0x5fda44], 1
jne 0x4b6437
cmp dword [0x573324], 1
jne 0x4b6437
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0
mov dword [0x658f80], 0
mov dword [0x573324], 0
jmp 0x4b6447
mov edx, dword [ebp - 0x28]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
mov ecx, dword [0x5fda58]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], ecx
jmp 0x4b71e7
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0
jmp 0x4b71e7
mov ecx, dword [0x5fd974]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], ecx
jmp 0x4b71e7
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0x14
jmp 0x4b71e7
mov ecx, dword [0x5fe25c]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], ecx
jmp 0x4b71e7
mov eax, dword [0x5fda68]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
mov edx, dword [0x5fda4c]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
movsx eax, byte [edx + 1]
sub eax, 0x30
mov dword [0x573dd0], eax
jmp 0x4b71e7
cmp dword [0x5fdb8c], 0
je 0x4b6532
cmp dword [0x603ac0], 0
je 0x4b6532
cmp dword [0x573ddc], 0
je 0x4b6532
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0xa
jmp 0x4b6540
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0
jmp 0x4b71e7
cmp dword [0x5fda78], 1
je 0x4b6566
push 3
push 0x573328
push 0x658fd8
call fcn.00532db5
add esp, 0xc
test eax, eax
jne 0x4b6576
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0xa
jmp 0x4b6584
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0
jmp 0x4b71e7
push 3
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
add eax, 7
push eax
push 0x658fd8
call fcn.00532bd0
add esp, 0xc
jmp 0x4b71e7
mov ecx, dword [0x5fdb08]
push ecx
call fcn.004ceef0
add esp, 4
mov dword [0x573e0c], 0xffffffff
mov byte [0x573e10], 0x7e
mov byte [0x6039c0], 0
push 0
call fcn.004f5d80
add esp, 4
jmp 0x4b71e7
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
add eax, 7
push eax
call fcn.00535089
add esp, 4
mov dword [0x573c10], eax
jmp 0x4b71e7
mov ecx, dword [0x5c6c1c]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], ecx
jmp 0x4b71e7
mov dword [0x5fda18], 1
jmp 0x4b71e7
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
add ecx, 7
push ecx
call fcn.00535e08
add esp, 4
fstp dword [ebp - 0x3a8]
fld dword [ebp - 0x3a8]
fmul qword [0x54b668]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fadd qword [0x54b6a8]
call fcn.00532f90
mov word [0x65bdfc], ax
movsx edx, word [0x65bdfc]
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
mov al, byte [edx + 7]
mov byte [0x573db5], al
jmp 0x4b71e7
call fcn.004b7840
jmp 0x4b71e7
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.004b7620
add esp, 4
jmp 0x4b71e7
push 0xffffffffffffffff
call fcn.004b7620
add esp, 4
jmp 0x4b71e7
mov edx, dword [0x5f5660]
imul edx, edx, 6
movzx eax, byte [edx + 0xd86c83]
and eax, 0x7f
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x41
jl 0x4b6700
cmp dword [ebp - 4], 0x5a
jg 0x4b6700
mov ecx, dword [ebp - 4]
sub ecx, 0x40
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], ecx
jmp 0x4b672c
cmp dword [ebp - 4], 0x30
jl 0x4b671e
cmp dword [ebp - 4], 0x39
jg 0x4b671e
mov eax, dword [ebp - 4]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b672c
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0
jmp 0x4b71e7
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
push ecx
call fcn.00532e80
add esp, 4
cmp eax, 0xa
jb 0x4b678b
push 1
push 8
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
push eax
call fcn.00433b80
add esp, 0xc
mov dword [0x563460], eax
push 1
push 0xa
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [0x563464], eax
jmp 0x4b679f
mov dword [0x563460], 0xffffffff
mov dword [0x563464], 0xffffffff
push 0
push 0x8a
push 0x111
mov eax, dword [0x60137c]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x4b71e7
mov ecx, dword [ebp - 0x14]
mov dword [0x573dcc], ecx
jmp 0x4b71e7
cmp dword [0x5fdb28], 0
jne 0x4b67e3
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0
jmp 0x4b67ff
mov eax, dword [0x5fdb14]
imul eax, eax, 0x3e8
cdq
idiv dword [0x5fdb28]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
mov edx, dword [0x5f5660]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
push 3
push 8
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax*4 + 0x662ce0], 0
je 0x4b6854
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx*4 + 0x662ce0]
mov byte [edx + 0x14], 0x49
jmp 0x4b71e7
mov eax, dword [0x5f5664]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 1
jmp 0x4b687a
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [0x5f5664]
jg 0x4b68b5
mov eax, dword [ebp - 0xc]
imul eax, eax, 6
movzx ecx, byte [eax + 0xd86c83]
test ecx, ecx
je 0x4b68b3
mov edx, dword [ebp - 0xc]
imul edx, edx, 6
movzx eax, byte [edx + 0xd86c83]
and eax, 0x80
jne 0x4b68b3
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4b6871
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 7]
cmp ecx, 0x32
jne 0x4b68ec
mov edx, dword [ebp - 0x10]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
add edx, dword [eax*4 + 0x658f20]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], edx
jmp 0x4b71e7
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 7]
cmp ecx, 0x33
jne 0x4b6921
mov edx, dword [ebp - 0x18]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
add edx, dword [eax*4 + 0x658f20]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], edx
jmp 0x4b71e7
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 7]
cmp ecx, 0x34
jne 0x4b697f
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 8]
sub ecx, 0x61
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx*4 + 0x658f20]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
movsx eax, byte [edx + 9]
sub eax, 0x61
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x658f20]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0
jne 0x4b6995
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0
jmp 0x4b69ac
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x3e8
cdq
idiv dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 7]
sub ecx, 0x61
mov dword [ebp - 4], ecx
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 1]
cmp ecx, 0x40
jne 0x4b69f7
mov edx, dword [ebp - 4]
mov eax, dword [edx*4 + 0x658f20]
cdq
mov ecx, 0xa
idiv ecx
mov dword [0x5fdb40], eax
jmp 0x4b6a36
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 7]
cmp ecx, 0x40
jne 0x4b6a22
mov edx, dword [0x5fdb40]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b6a36
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, dword [edx*4 + 0x658f20]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
movsx eax, byte [edx + 7]
sub eax, 0x61
mov dword [ebp - 4], eax
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
movsx eax, byte [edx + 1]
cmp eax, 0x40
jne 0x4b6a87
mov ecx, dword [ebp - 4]
mov eax, dword [ecx*4 + 0x658f20]
cdq
mov ecx, 0xa
idiv ecx
add eax, dword [0x5fdb40]
mov dword [0x5fdb40], eax
jmp 0x4b6ada
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 7]
cmp ecx, 0x40
jne 0x4b6abc
mov edx, dword [0x5fdb40]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
add edx, dword [eax*4 + 0x658f20]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], edx
jmp 0x4b6ada
mov edx, dword [ebp - 0x14]
mov eax, dword [edx*4 + 0x658f20]
mov ecx, dword [ebp - 4]
add eax, dword [ecx*4 + 0x658f20]
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], eax
jmp 0x4b71e7
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
add ecx, 7
push ecx
call fcn.00535089
add esp, 4
mov dword [ebp - 4], eax
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
movsx ecx, byte [eax + 1]
cmp ecx, 0x40
jne 0x4b6b1b
mov edx, dword [ebp - 4]
mov dword [0x5fdb40], edx
jmp 0x4b6b2b
mov eax, dword [ebp - 4]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
push 4
push 8
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
push eax
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx*4 + 0x658f20]
imul edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
mov dword [0x5fdbac], 6
mov dword [ebp - 0x2c], 1
jmp 0x4b71e7
push 4
push 8
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
push 0x5c
push 0x658de0
push str._s_cdisc._02d
lea ecx, [ebp - 0x138]
push ecx
call fcn.00532706
add esp, 0x14
lea edx, [ebp - 0x138]
push edx
call fcn.00423310
add esp, 4
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
call fcn.004b4ab0
call fcn.00483eb0
fstp dword [0x5fda3c]
jmp 0x4b71e7
push 1
push 8
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
push eax
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x144], eax
push 1
push 0xa
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x140], eax
push 0
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [0x5fdb08]
push edx
push 0x1102600
call fcn.0045b180
add esp, 0x14
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 1
jne 0x4b6c81
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0xa
jmp 0x4b6c8f
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0
jmp 0x4b71e7
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
add eax, 7
push eax
call fcn.00535089
add esp, 4
sub eax, 0x1f4
mov dword [0x5fd710], eax
jmp 0x4b71e7
movsx ecx, word [0x5fd1a0]
test ecx, ecx
jne 0x4b6de6
push 0x57333c
push 0x5c
push 0x5c44f8
push 0x573344
lea edx, [ebp - 0x360]
push edx
call fcn.00532706
add esp, 0x14
lea eax, [ebp - 0x360]
push eax
call fcn.00423c50
add esp, 4
lea ecx, [ebp - 0x374]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [ebp - 0x374]
mov dword [ebp - 0x364], edx
mov al, byte [ebp - 0x372]
mov byte [ebp - 0x151], al
mov cl, byte [ebp - 0x36e]
mov byte [ebp - 0x149], cl
movsx edx, byte [ebp - 0x149]
push edx
movsx eax, byte [ebp - 0x151]
push eax
mov ecx, dword [ebp - 0x364]
push ecx
push 0x1102600
mov edx, dword [0x5c4c28]
imul edx, edx, 0x127c
add edx, 0x11a6f12
push edx
push 0x5c
push str.audio
push 0x5c
push 0x5c44f8
push str.__s_c_s_c_s__s__4d_02d_02d.mov
lea eax, [ebp - 0x360]
push eax
call fcn.00532706
add esp, 0x2c
lea ecx, [ebp - 0x360]
push ecx
call fcn.00532e80
add esp, 4
movsx edx, al
sub edx, 1
mov byte [ebp - 0x360], dl
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x360]
push ecx
push 0
push 0
call fcn.00531c90
add esp, 0x10
mov word [ebp - 0x150], ax
movsx edx, word [ebp - 0x150]
test edx, edx
je 0x4b6dd0
movsx eax, word [ebp - 0x150]
cmp eax, 0xffffffd5
jne 0x4b6de6
lea ecx, [ebp - 0x260]
push ecx
call fcn.004a97f0
add esp, 4
mov word [ebp - 0x150], ax
movsx edx, word [0x5fd1a0]
cmp edx, 1
jne 0x4b6e07
mov eax, dword [0x5fd710]
mov ecx, dword [eax*4 + 0x65ac60]
push ecx
call fcn.004a9b10
add esp, 4
jmp 0x4b71e7
movsx edx, word [0x5fd1a0]
cmp edx, 1
jne 0x4b6e1d
call fcn.004a9970
jmp 0x4b71e7
cmp dword [0x5f6630], 1
jne 0x4b6e3b
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0xa
jmp 0x4b6e49
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0
jmp 0x4b71e7
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 1
jne 0x4b6e6b
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0xa
jmp 0x4b6e79
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0
jmp 0x4b71e7
push 1
push 8
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x37c], eax
push 1
push 0xa
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
push ecx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x20], 0x14
mov edx, dword [ebp - 0x20]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
cmp dword [0x5614a0], 1
jne 0x4b6ef2
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0xa
jmp 0x4b6f00
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0
jmp 0x4b71e7
mov eax, dword [0x5fcdb8]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
push 0x1102600
call fcn.004324c0
add esp, 4
movsx edx, ax
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
mov ecx, dword [ebp - 0x14]
cmp dword [ecx*4 + 0x658f20], 0xffffffff
jne 0x4b6f5d
push 0x1102600
call fcn.004325f0
add esp, 4
movsx edx, ax
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
push 3
push 8
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
push eax
call fcn.00460c80
add esp, 4
mov dword [ebp - 0x384], eax
push 1
push 0xc
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x390], eax
push 1
push 0xe
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
push ecx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x38c], eax
mov edx, dword [ebp - 0x38c]
sub edx, 1
push edx
mov eax, dword [ebp - 0x390]
sub eax, 1
push eax
mov ecx, dword [ebp - 0x380]
push ecx
call fcn.00424280
add esp, 0xc
mov dword [ebp - 0x388], eax
mov edx, dword [ebp - 0x384]
imul edx, edx, 0x12c8
mov eax, dword [ebp - 0x388]
movsx ecx, word [edx + eax*8 + 0x110b482]
cmp ecx, 0x3e8
jge 0x4b702a
mov dword [ebp - 0x20], 0
jmp 0x4b704d
mov edx, dword [ebp - 0x384]
imul edx, edx, 0x12c8
mov eax, dword [ebp - 0x388]
movsx ecx, word [edx + eax*8 + 0x110b482]
sub ecx, 0x3e8
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
push 3
push 8
mov ecx, dword [0x5fdb48]
mov edx, dword [ecx*4 + 0x65bea0]
push edx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x394], eax
push 1
push 0xc
mov eax, dword [0x5fdb48]
mov ecx, dword [eax*4 + 0x65bea0]
push ecx
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x39c], eax
push 1
push 0xe
mov edx, dword [0x5fdb48]
mov eax, dword [edx*4 + 0x65bea0]
push eax
call fcn.00433b80
add esp, 0xc
mov dword [ebp - 0x398], eax
push 0
mov ecx, dword [ebp - 0x398]
push ecx
mov edx, dword [ebp - 0x39c]
push edx
mov eax, dword [ebp - 0x394]
push eax
push 0x1102600
call fcn.0045b180
add esp, 0x14
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 1
jne 0x4b7104
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0xa
jmp 0x4b7112
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0
jmp 0x4b71e7
movsx eax, word [0x1102778]
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], eax
jmp 0x4b71e7
movsx edx, word [0x1102776]
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], edx
jmp 0x4b71e7
call fcn.00433690
test eax, eax
jne 0x4b715c
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0xa
jmp 0x4b719a
mov edx, dword [0x5c4c28]
imul edx, edx, 0x127c
add edx, 0x11a6ec0
push edx
call fcn.0042a7a0
add esp, 4
cmp eax, 1
jne 0x4b718c
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0xa
jmp 0x4b719a
mov ecx, dword [ebp - 0x14]
mov dword [ecx*4 + 0x658f20], 0
jmp 0x4b71e7
cmp dword [0x5fdae0], 1
jne 0x4b71b5
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], 0xa
jmp 0x4b71c3
mov eax, dword [ebp - 0x14]
mov dword [eax*4 + 0x658f20], 0
jmp 0x4b71e7
fld dword [ebp - 0x1c]
fmul qword [0x54b668]
call fcn.00532f90
mov ecx, dword [ebp - 0x14]
add eax, dword [ecx*4 + 0x658f20]
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x658f20], eax
cmp dword [ebp - 0x14], 0
jl 0x4b71f6
cmp dword [0x5fd8dc], 0
je 0x4b71fb
mov eax, dword [ebp - 0x2c]
jmp 0x4b723c
mov dword [ebp - 8], 1
jmp 0x4b720d
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x14]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 8]
cmp edx, dword [ecx + 0x715680]
jg 0x4b7239
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x14
mov ecx, dword [ebp - 8]
mov edx, dword [eax + ecx*4 + 0x715680]
push edx
call fcn.004b7330
add esp, 4
jmp 0x4b7204
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret