Function at 0x492f26
Capabilities:
Print debug messages
Read .ini file
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9a4
push esi
push edi
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x73c], 0
mov byte [ebp - 0x748], 0
xor eax, eax
mov dword [ebp - 0x747], eax
mov word [ebp - 0x743], ax
mov byte [ebp - 0x741], al
mov byte [ebp - 0x520], 0
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x51f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x31c], 0
xor ecx, ecx
mov dword [ebp - 0x31b], ecx
mov dword [ebp - 0x317], ecx
mov dword [ebp - 0x313], ecx
mov dword [ebp - 0x30f], ecx
mov dword [ebp - 0x30b], ecx
push 0x100
lea edx, [ebp - 0x100]
push edx
call fcn.004b8167
add esp, 8
mov byte [ebp - 0x538], 0
xor eax, eax
mov dword [ebp - 0x537], eax
mov dword [ebp - 0x533], eax
mov dword [ebp - 0x52f], eax
mov dword [ebp - 0x52b], eax
mov dword [ebp - 0x527], eax
mov ecx, dword [ebp + 8]
add ecx, 0xeb2
push ecx
lea edx, [ebp - 0x100]
push edx
push 0x562b64
lea eax, [ebp - 0x300]
push eax
call fcn.004e998d
add esp, 0x10
lea ecx, [ebp - 0x300]
push ecx
push 0
push 0x562b74
push 0x562b78
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x304], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0xc10], 0x71
push str.Check_ID_Table
mov eax, dword [ebp + 8]
add eax, 0x81b
push eax
call fcn.004e998d
add esp, 8
cmp dword [0x56e1dc], 0
jle 0x4930a1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xef4], 0
je 0x4930a1
mov edx, dword [0x56e1dc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x773]
push ecx
push 6
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xef4]
call fcn.00408d3c
mov eax, dword [ebp + 8]
add eax, 0x81b
push eax
mov ecx, dword [0x56e1dc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x773]
push eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xef4]
call fcn.00505c1d
cmp dword [0x56e1e4], 0
jle 0x4930de
mov edx, dword [ebp + 8]
cmp dword [edx + 0xef4], 0
je 0x4930de
mov eax, dword [ebp + 8]
add eax, 0x4ff
push eax
mov ecx, dword [0x56e1e4]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x773]
push eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xef4]
call fcn.00505c1d
push 0x200
push 0
lea edx, [ebp - 0x738]
push edx
call fcn.004e9480
add esp, 0xc
mov byte [ebp - 0x738], 0xf0
mov byte [ebp - 0x737], 0x3f
mov byte [ebp - 0x736], 0
mov byte [ebp - 0x735], 0
mov byte [ebp - 0x72d], 1
push 0x200
push 0
lea eax, [ebp - 0x948]
push eax
call fcn.004e9480
add esp, 0xc
push 0
push 0x200
lea ecx, [ebp - 0x948]
push ecx
lea edx, [ebp - 0x738]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004831c8
add esp, 0x14
test eax, eax
jne 0x493173
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc24], 0xb8
mov edx, dword [ebp + 8]
mov dword [edx + 0xc2c], 0xb8
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp + 8]
mov dword [eax + 0xc2c], 0x30
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc24], 2
mov dword [ebp - 0x740], 0
jmp 0x4931a8
mov edx, dword [ebp - 0x740]
add edx, 2
mov dword [ebp - 0x740], edx
mov eax, dword [ebp + 8]
add eax, 0x44c
push eax
call fcn.004ea2e0
add esp, 4
cmp dword [ebp - 0x740], eax
jge 0x493246
mov ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ebp + ecx - 0x912]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x44d]
cmp edx, ecx
je 0x493203
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x44d]
test eax, eax
je 0x493203
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ebp + ecx - 0x911]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x44c]
cmp edx, ecx
je 0x493241
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x44c]
test eax, eax
je 0x493241
xor eax, eax
jmp 0x49413e
jmp 0x493199
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc24], 3
mov edx, dword [ebp + 8]
mov dword [edx + 0xc2c], 0x32
push 0x15
mov eax, dword [ebp + 8]
add eax, 0x4ff
push eax
lea ecx, [ebp - 0x538]
push ecx
call fcn.004e9b20
add esp, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe8], 0
je 0x49355f
mov byte [ebp - 0x954], 0x50
mov byte [ebp - 0x953], 2
mov byte [ebp - 0x952], 0x36
mov byte [ebp - 0x951], 0x10
mov eax, dword [ebp + 8]
add eax, 0x4ff
push eax
call fcn.004ea2e0
add esp, 4
mov dword [ebp - 0x94c], eax
mov ecx, dword [ebp - 0x94c]
sub ecx, 9
mov dword [ebp - 0x950], ecx
mov byte [ebp - 0x960], 0
xor edx, edx
mov dword [ebp - 0x95f], edx
mov dword [ebp - 0x95b], edx
cmp dword [0x56e0e4], 0
je 0x4932f9
lea eax, [ebp - 0x954]
push eax
call fcn.004b765e
add esp, 4
mov dword [ebp - 0x740], 0
jmp 0x493314
mov ecx, dword [ebp - 0x740]
add ecx, 1
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x740], 9
jge 0x493428
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
cmp eax, 0x30
jl 0x493377
mov ecx, dword [ebp - 0x950]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x538]
cmp edx, 0x39
jg 0x493377
mov eax, dword [ebp - 0x950]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
sub ecx, 0x30
mov edx, dword [ebp - 0x740]
mov byte [ebp + edx - 0x960], cl
mov eax, dword [ebp - 0x950]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x41
jl 0x4933cd
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
cmp eax, 0x46
jg 0x4933cd
mov ecx, dword [ebp - 0x950]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x538]
sub edx, 0x37
mov eax, dword [ebp - 0x740]
mov byte [ebp + eax - 0x960], dl
mov ecx, dword [ebp - 0x950]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x538]
cmp edx, 0x61
jl 0x493423
mov eax, dword [ebp - 0x950]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x66
jg 0x493423
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
sub eax, 0x57
mov ecx, dword [ebp - 0x740]
mov byte [ebp + ecx - 0x960], al
jmp 0x493305
mov edx, dword [ebp - 0x870]
and edx, 0xff
mov eax, dword [ebp - 0x953]
and eax, 0xff
cmp edx, eax
jne 0x49345f
mov ecx, dword [ebp - 0x86f]
and ecx, 0xff
mov edx, dword [ebp - 0x954]
and edx, 0xff
cmp ecx, edx
je 0x493466
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp - 0x86e]
and eax, 0xff
mov ecx, dword [ebp - 0x951]
and ecx, 0xff
movsx edx, byte [ebp - 0x960]
add ecx, edx
cmp eax, ecx
jne 0x4934a5
mov eax, dword [ebp - 0x86d]
and eax, 0xff
mov ecx, dword [ebp - 0x952]
and ecx, 0xff
cmp eax, ecx
je 0x4934ac
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x86c]
and edx, 0xff
movsx eax, byte [ebp - 0x95d]
shl eax, 4
movsx ecx, byte [ebp - 0x95c]
add eax, ecx
and eax, 0xff
cmp edx, eax
jne 0x4934fc
mov edx, dword [ebp - 0x86b]
and edx, 0xff
movsx eax, byte [ebp - 0x95f]
shl eax, 4
movsx ecx, byte [ebp - 0x95e]
add eax, ecx
and eax, 0xff
cmp edx, eax
je 0x493503
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x86a]
and edx, 0xff
movsx eax, byte [ebp - 0x959]
shl eax, 4
movsx ecx, byte [ebp - 0x958]
add eax, ecx
and eax, 0xff
cmp edx, eax
jne 0x493553
mov edx, dword [ebp - 0x869]
and edx, 0xff
movsx eax, byte [ebp - 0x95b]
shl eax, 4
movsx ecx, byte [ebp - 0x95a]
add eax, ecx
and eax, 0xff
cmp edx, eax
je 0x49355a
xor eax, eax
jmp 0x49413e
jmp 0x493e84
mov edx, dword [ebp + 8]
cmp dword [edx + 0xdc], 0
je 0x493707
mov byte [ebp - 0x964], 0x5f
mov byte [ebp - 0x963], 0x8d
mov byte [ebp - 0x962], 0xb4
mov byte [ebp - 0x961], 0xc0
cmp dword [0x56e0e4], 0
je 0x4935a3
lea eax, [ebp - 0x964]
push eax
call fcn.004b765e
add esp, 4
mov ecx, dword [ebp - 0x870]
and ecx, 0xff
mov edx, dword [ebp - 0x963]
and edx, 0xff
cmp ecx, edx
jne 0x4935da
mov eax, dword [ebp - 0x86f]
and eax, 0xff
mov ecx, dword [ebp - 0x964]
and ecx, 0xff
cmp eax, ecx
je 0x4935e1
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x86e]
and edx, 0xff
mov eax, dword [ebp - 0x961]
and eax, 0xff
movsx ecx, byte [ebp - 0x535]
lea eax, [eax + ecx - 0x30]
cmp edx, eax
je 0x49360e
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86d]
and ecx, 0xff
mov edx, dword [ebp - 0x962]
and edx, 0xff
cmp ecx, edx
je 0x493631
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp - 0x86c]
and eax, 0xff
movsx ecx, byte [ebp - 0x52a]
sub ecx, 0x30
shl ecx, 4
movsx edx, byte [ebp - 0x529]
lea ecx, [ecx + edx - 0x30]
and ecx, 0xff
cmp eax, ecx
je 0x493665
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x86b]
and edx, 0xff
movsx eax, byte [ebp - 0x534]
sub eax, 0x30
shl eax, 4
movsx ecx, byte [ebp - 0x532]
lea eax, [eax + ecx - 0x30]
and eax, 0xff
cmp edx, eax
je 0x493699
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86a]
and ecx, 0xff
movsx edx, byte [ebp - 0x526]
sub edx, 0x30
shl edx, 4
movsx eax, byte [ebp - 0x525]
lea edx, [edx + eax - 0x30]
and edx, 0xff
cmp ecx, edx
je 0x4936ce
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp - 0x869]
and eax, 0xff
movsx ecx, byte [ebp - 0x528]
sub ecx, 0x30
shl ecx, 4
movsx edx, byte [ebp - 0x527]
lea ecx, [ecx + edx - 0x30]
and ecx, 0xff
cmp eax, ecx
je 0x493702
xor eax, eax
jmp 0x49413e
jmp 0x493e84
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe0], 0
je 0x4939bd
lea eax, [ebp - 0x9a4]
push eax
call fcn.00504c26
push eax
lea ecx, [ebp - 0x984]
call fcn.004b7dd0
mov byte [ebp - 0x970], 0
xor ecx, ecx
mov dword [ebp - 0x96f], ecx
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x968], 0
push 0
call fcn.004eb376
add esp, 4
mov dword [ebp - 0x978], eax
lea edx, [ebp - 0x978]
push edx
call fcn.004ec070
add esp, 4
mov dword [ebp - 0x97c], eax
mov eax, dword [ebp - 0x97c]
push eax
push 0x562b8c
push 5
lea ecx, [ebp - 0x970]
push ecx
call fcn.004ec055
add esp, 0x10
lea edx, [ebp - 0x970]
push edx
call fcn.004e98d7
add esp, 4
mov dword [ebp - 0x974], eax
lea ecx, [ebp - 0x984]
call fcn.004b7d10
mov dword [ebp - 0x968], eax
mov byte [ebp - 0x980], 0
xor eax, eax
mov word [ebp - 0x97f], ax
mov byte [ebp - 0x97d], al
mov dword [ebp - 0x740], 0
jmp 0x4937eb
mov ecx, dword [ebp - 0x740]
add ecx, 1
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x740], 4
jge 0x493887
mov edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x528]
cmp eax, 0x30
jl 0x49383e
mov ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x528]
cmp edx, 0x39
jg 0x49383e
mov eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x528]
sub ecx, 0x30
mov edx, dword [ebp - 0x740]
mov byte [ebp + edx - 0x980], cl
jmp 0x493882
mov eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x528]
cmp ecx, 0x41
jl 0x493882
mov edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x528]
cmp eax, 0x46
jg 0x493882
mov ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x528]
sub edx, 0x37
mov eax, dword [ebp - 0x740]
mov byte [ebp + eax - 0x980], dl
jmp 0x4937dc
mov ecx, dword [ebp - 0x870]
and ecx, 0xff
cmp ecx, 0x8d
jne 0x4938ac
mov edx, dword [ebp - 0x86f]
and edx, 0xff
cmp edx, 0x5f
je 0x4938b3
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86e]
and ecx, 0xff
mov eax, dword [ebp - 0x974]
cdq
mov esi, 0xa
idiv esi
and eax, 0xff
add eax, 0xc0
cmp ecx, eax
je 0x4938e2
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x86d]
and edx, 0xff
cmp edx, 0xb4
je 0x4938fd
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp - 0x86c]
and eax, 0xff
cmp eax, 0x29
je 0x493914
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86b]
and ecx, 0xff
mov eax, dword [ebp - 0x974]
cdq
mov esi, 0xa
idiv esi
mov esi, edx
shl esi, 4
and esi, 0xff
mov eax, dword [ebp - 0x968]
cdq
mov edi, 0xa
idiv edi
and edx, 0xff
add esi, edx
cmp ecx, esi
je 0x49395a
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x86a]
and edx, 0xff
movsx eax, byte [ebp - 0x97e]
shl eax, 4
movsx ecx, byte [ebp - 0x97d]
add eax, ecx
and eax, 0xff
cmp edx, eax
je 0x493989
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x869]
and edx, 0xff
movsx eax, byte [ebp - 0x980]
shl eax, 4
movsx ecx, byte [ebp - 0x97f]
add eax, ecx
and eax, 0xff
cmp edx, eax
je 0x4939b8
xor eax, eax
jmp 0x49413e
jmp 0x493e84
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe4], 0
je 0x493c10
mov byte [ebp - 0x998], 0
xor eax, eax
mov dword [ebp - 0x997], eax
mov dword [ebp - 0x993], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 0x757]
sub eax, dword [edx + 0x75b]
mov dword [ebp - 0x98c], eax
mov ecx, dword [ebp + 8]
mov edx, 9
sub edx, dword [ecx + 0x75b]
mov dword [ebp - 0x988], edx
mov dword [ebp - 0x740], 0
jmp 0x493a29
mov eax, dword [ebp - 0x740]
add eax, 1
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x740]
cmp edx, dword [ecx + 0x75b]
jge 0x493afb
mov eax, dword [ebp - 0x98c]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x30
jl 0x493a9a
mov edx, dword [ebp - 0x98c]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
cmp eax, 0x39
jg 0x493a9a
mov ecx, dword [ebp - 0x98c]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x538]
sub edx, 0x30
mov eax, dword [ebp - 0x988]
add eax, dword [ebp - 0x740]
mov byte [ebp + eax - 0x998], dl
mov ecx, dword [ebp - 0x98c]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x538]
cmp edx, 0x41
jl 0x493af6
mov eax, dword [ebp - 0x98c]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x46
jg 0x493af6
mov edx, dword [ebp - 0x98c]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
sub eax, 0x37
mov ecx, dword [ebp - 0x988]
add ecx, dword [ebp - 0x740]
mov byte [ebp + ecx - 0x998], al
jmp 0x493a1a
mov edx, dword [ebp - 0x870]
and edx, 0xff
cmp edx, 0x88
jne 0x493b1f
mov eax, dword [ebp - 0x86f]
and eax, 0xff
cmp eax, 0x58
je 0x493b26
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86e]
and ecx, 0xff
movsx edx, byte [ebp - 0x998]
add edx, 0x40
cmp ecx, edx
jne 0x493b52
mov eax, dword [ebp - 0x86d]
and eax, 0xff
cmp eax, 0x91
je 0x493b59
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86c]
and ecx, 0xff
movsx edx, byte [ebp - 0x995]
shl edx, 4
movsx eax, byte [ebp - 0x994]
add edx, eax
and edx, 0xff
cmp ecx, edx
jne 0x493bab
mov ecx, dword [ebp - 0x86b]
and ecx, 0xff
movsx edx, byte [ebp - 0x997]
shl edx, 4
movsx eax, byte [ebp - 0x996]
add edx, eax
and edx, 0xff
cmp ecx, edx
je 0x493bb2
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x86a]
and ecx, 0xff
movsx edx, byte [ebp - 0x991]
shl edx, 4
movsx eax, byte [ebp - 0x990]
add edx, eax
and edx, 0xff
cmp ecx, edx
jne 0x493c04
mov ecx, dword [ebp - 0x869]
and ecx, 0xff
movsx edx, byte [ebp - 0x993]
shl edx, 4
movsx eax, byte [ebp - 0x992]
add edx, eax
and edx, 0xff
cmp ecx, edx
je 0x493c0b
xor eax, eax
jmp 0x49413e
jmp 0x493e84
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x493d41
mov byte [ebp - 0x9a0], 0
xor edx, edx
mov word [ebp - 0x99f], dx
mov dword [ebp - 0x740], 0
jmp 0x493c4b
mov eax, dword [ebp - 0x740]
add eax, 2
mov dword [ebp - 0x740], eax
cmp dword [ebp - 0x740], 0x10
jge 0x493cc4
push 3
push 0
lea ecx, [ebp - 0x9a0]
push ecx
call fcn.004e9480
add esp, 0xc
push 2
mov edx, dword [ebp - 0x740]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0x47d]
push ecx
lea edx, [ebp - 0x9a0]
push edx
call fcn.004e9b20
add esp, 0xc
push 0x10
lea eax, [ebp - 0x99c]
push eax
lea ecx, [ebp - 0x9a0]
push ecx
call fcn.004ea72c
add esp, 0xc
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x740]
cdq
sub eax, edx
sar eax, 1
mov dl, byte [ebp - 0x73c]
mov byte [ebp + eax - 0x748], dl
jmp 0x493c3c
mov dword [ebp - 0x740], 0
jmp 0x493cdf
mov eax, dword [ebp - 0x740]
add eax, 2
mov dword [ebp - 0x740], eax
cmp dword [ebp - 0x740], 8
jge 0x493d3c
mov ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ebp + ecx - 0x870]
mov eax, dword [ebp - 0x740]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x747]
cmp edx, ecx
je 0x493d11
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [ebp + edx - 0x86f]
mov ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ebp + ecx - 0x748]
cmp eax, edx
je 0x493d3a
xor eax, eax
jmp 0x49413e
jmp 0x493cd0
jmp 0x493e84
mov eax, dword [ebp + 8]
cmp dword [eax + 0xec], 0
je 0x493dc9
mov dword [ebp - 0x740], 0
jmp 0x493d68
mov ecx, dword [ebp - 0x740]
add ecx, 2
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x740], 8
jge 0x493dc9
mov edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [ebp + edx - 0x870]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ecx + 0x476]
cmp eax, edx
je 0x493d9c
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp - 0x740]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x86f]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [edx + 0x475]
cmp ecx, eax
je 0x493dc7
xor eax, eax
jmp 0x49413e
jmp 0x493d59
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xf0], 0
je 0x493e84
mov dword [ebp - 0x740], 0
jmp 0x493df4
mov edx, dword [ebp - 0x740]
add edx, 2
mov dword [ebp - 0x740], edx
cmp dword [ebp - 0x740], 0x10
jge 0x493e84
mov eax, dword [ebp - 0x740]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x870]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [edx + 0x47e]
cmp ecx, eax
je 0x493e40
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ecx + 0x47e]
test edx, edx
je 0x493e40
xor eax, eax
jmp 0x49413e
mov eax, dword [ebp - 0x740]
xor ecx, ecx
mov cl, byte [ebp + eax - 0x86f]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [edx + 0x47d]
cmp ecx, eax
je 0x493e7f
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ecx + 0x47d]
test edx, edx
je 0x493e7f
xor eax, eax
jmp 0x49413e
jmp 0x493de5
mov eax, dword [ebp + 8]
mov dword [eax + 0xc24], 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc2c], 0x31
push 0x14
lea edx, [ebp - 0x934]
push edx
lea eax, [ebp - 0x31c]
push eax
call fcn.004e9b20
add esp, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x4ff
push ecx
call fcn.004ea2e0
add esp, 4
mov dword [ebp - 0x320], eax
mov edx, dword [ebp - 0x320]
push edx
push str._SN_string_length_is__d______
lea eax, [ebp - 0x520]
push eax
call fcn.004e998d
add esp, 0xc
lea ecx, [ebp - 0x520]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0x740], 0
jmp 0x493f11
mov edx, dword [ebp - 0x740]
add edx, 2
mov dword [ebp - 0x740], edx
mov eax, dword [ebp + 8]
add eax, 0x4ff
push eax
call fcn.004ea2e0
add esp, 4
cmp dword [ebp - 0x740], eax
jge 0x494055
mov ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ebp + ecx - 0x934]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x500]
cmp edx, ecx
je 0x493fbf
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x500]
test eax, eax
je 0x493fbf
lea ecx, [ebp - 0x31c]
push ecx
push 0x562bc0
lea edx, [ebp - 0x520]
push edx
call fcn.004e998d
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp + 8]
add ecx, 0x4ff
push ecx
push 0x562bec
lea edx, [ebp - 0x520]
push edx
call fcn.004e998d
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x49413e
mov ecx, dword [ebp - 0x740]
xor edx, edx
mov dl, byte [ebp + ecx - 0x933]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x4ff]
cmp edx, ecx
je 0x494050
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x4ff]
test eax, eax
je 0x494050
lea ecx, [ebp - 0x31c]
push ecx
push str._Incard_SN_is__s______
lea edx, [ebp - 0x520]
push edx
call fcn.004e998d
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp + 8]
add ecx, 0x4ff
push ecx
push str._MP_SN_is__s______
lea edx, [ebp - 0x520]
push edx
call fcn.004e998d
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x49413e
jmp 0x493f02
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc24], 5
mov edx, dword [ebp + 8]
mov dword [edx + 0xc2c], 0x33
mov dword [ebp - 0x740], 0
jmp 0x49408a
mov eax, dword [ebp - 0x740]
add eax, 2
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp + 8]
add ecx, 0x4ae
push ecx
call fcn.004ea2e0
add esp, 4
cmp dword [ebp - 0x740], eax
jge 0x49411f
mov edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [ebp + edx - 0x846]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ecx + 0x4af]
cmp eax, edx
je 0x4940df
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x4af]
test ecx, ecx
je 0x4940df
xor eax, eax
jmp 0x49413e
mov edx, dword [ebp - 0x740]
xor eax, eax
mov al, byte [ebp + edx - 0x845]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ecx + 0x4ae]
cmp eax, edx
je 0x49411a
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x4ae]
test ecx, ecx
je 0x49411a
xor eax, eax
jmp 0x49413e
jmp 0x49407b
mov edx, dword [ebp + 8]
mov dword [edx + 0xc24], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0xc2c], 0
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret