Function at 0x491ee6
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.004b7127
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 0x5616d4
lea eax, [ebp - 0x300]
push eax
call fcn.004e894d
add esp, 0x10
lea ecx, [ebp - 0x300]
push ecx
push 0
push 0x5616e4
push 0x5616e8
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.004e894d
add esp, 8
cmp dword [0x56cd4c], 0
jle 0x492061
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xef4], 0
je 0x492061
mov edx, dword [0x56cd4c]
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.0040848c
mov eax, dword [ebp + 8]
add eax, 0x81b
push eax
mov ecx, dword [0x56cd4c]
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.00504bdd
cmp dword [0x56cd54], 0
jle 0x49209e
mov edx, dword [ebp + 8]
cmp dword [edx + 0xef4], 0
je 0x49209e
mov eax, dword [ebp + 8]
add eax, 0x4ff
push eax
mov ecx, dword [0x56cd54]
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.00504bdd
push 0x200
push 0
lea edx, [ebp - 0x738]
push edx
call fcn.004e8440
add esp, 0xc
mov byte [ebp - 0x738], pe_nt_image_headers32
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.004e8440
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.00482188
add esp, 0x14
test eax, eax
jne 0x492133
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc24], 0xb8
mov edx, dword [ebp + 8]
mov dword [edx + 0xc2c], 0xb8
xor eax, eax
jmp 0x4930fe
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 0x492168
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.004e9200
add esp, 4
cmp dword [ebp - 0x740], eax
jge 0x492206
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 0x4921c3
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x44d]
test eax, eax
je 0x4921c3
xor eax, eax
jmp 0x4930fe
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 0x492201
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x44c]
test eax, eax
je 0x492201
xor eax, eax
jmp 0x4930fe
jmp 0x492159
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.004e8ae0
add esp, 0xc
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe8], 0
je 0x49251f
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.004e9200
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 [0x56cc54], 0
je 0x4922b9
lea eax, [ebp - 0x954]
push eax
call fcn.004b661e
add esp, 4
mov dword [ebp - 0x740], 0
jmp 0x4922d4
mov ecx, dword [ebp - 0x740]
add ecx, 1
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x740], 9
jge 0x4923e8
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
cmp eax, 0x30
jl 0x492337
mov ecx, dword [ebp - 0x950]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x538]
cmp edx, 0x39
jg 0x492337
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 0x49238d
mov edx, dword [ebp - 0x950]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
cmp eax, 0x46
jg 0x49238d
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 0x4923e3
mov eax, dword [ebp - 0x950]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x66
jg 0x4923e3
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 0x4922c5
mov edx, dword [ebp - 0x870]
and edx, 0xff
mov eax, dword [ebp - 0x953]
and eax, 0xff
cmp edx, eax
jne 0x49241f
mov ecx, dword [ebp - 0x86f]
and ecx, 0xff
mov edx, dword [ebp - 0x954]
and edx, 0xff
cmp ecx, edx
je 0x492426
xor eax, eax
jmp 0x4930fe
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 0x492465
mov eax, dword [ebp - 0x86d]
and eax, 0xff
mov ecx, dword [ebp - 0x952]
and ecx, 0xff
cmp eax, ecx
je 0x49246c
xor eax, eax
jmp 0x4930fe
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 0x4924bc
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 0x4924c3
xor eax, eax
jmp 0x4930fe
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 0x492513
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 0x49251a
xor eax, eax
jmp 0x4930fe
jmp 0x492e44
mov edx, dword [ebp + 8]
cmp dword [edx + 0xdc], 0
je 0x4926c7
mov byte [ebp - 0x964], 0x5f
mov byte [ebp - 0x963], 0x8d
mov byte [ebp - 0x962], 0xb4
mov byte [ebp - 0x961], 0xc0
cmp dword [0x56cc54], 0
je 0x492563
lea eax, [ebp - 0x964]
push eax
call fcn.004b661e
add esp, 4
mov ecx, dword [ebp - 0x870]
and ecx, 0xff
mov edx, dword [ebp - 0x963]
and edx, 0xff
cmp ecx, edx
jne 0x49259a
mov eax, dword [ebp - 0x86f]
and eax, 0xff
mov ecx, dword [ebp - 0x964]
and ecx, 0xff
cmp eax, ecx
je 0x4925a1
xor eax, eax
jmp 0x4930fe
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 0x4925ce
xor eax, eax
jmp 0x4930fe
mov ecx, dword [ebp - 0x86d]
and ecx, 0xff
mov edx, dword [ebp - 0x962]
and edx, 0xff
cmp ecx, edx
je 0x4925f1
xor eax, eax
jmp 0x4930fe
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 0x492625
xor eax, eax
jmp 0x4930fe
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 0x492659
xor eax, eax
jmp 0x4930fe
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 0x49268e
xor eax, eax
jmp 0x4930fe
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 0x4926c2
xor eax, eax
jmp 0x4930fe
jmp 0x492e44
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe0], 0
je 0x49297d
lea eax, [ebp - 0x9a4]
push eax
call fcn.00503be6
push eax
lea ecx, [ebp - 0x984]
call fcn.004b6d90
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.004ea336
add esp, 4
mov dword [ebp - 0x978], eax
lea edx, [ebp - 0x978]
push edx
call fcn.004eb030
add esp, 4
mov dword [ebp - 0x97c], eax
mov eax, dword [ebp - 0x97c]
push eax
push 0x5616fc
push 5
lea ecx, [ebp - 0x970]
push ecx
call fcn.004eb015
add esp, 0x10
lea edx, [ebp - 0x970]
push edx
call fcn.004e8897
add esp, 4
mov dword [ebp - 0x974], eax
lea ecx, [ebp - 0x984]
call fcn.004b6cd0
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 0x4927ab
mov ecx, dword [ebp - 0x740]
add ecx, 1
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x740], 4
jge 0x492847
mov edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x528]
cmp eax, 0x30
jl 0x4927fe
mov ecx, dword [ebp - 0x740]
movsx edx, byte [ebp + ecx - 0x528]
cmp edx, 0x39
jg 0x4927fe
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 0x492842
mov eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x528]
cmp ecx, 0x41
jl 0x492842
mov edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x528]
cmp eax, 0x46
jg 0x492842
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 0x49279c
mov ecx, dword [ebp - 0x870]
and ecx, 0xff
cmp ecx, 0x8d
jne 0x49286c
mov edx, dword [ebp - 0x86f]
and edx, 0xff
cmp edx, 0x5f
je 0x492873
xor eax, eax
jmp 0x4930fe
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 0x4928a2
xor eax, eax
jmp 0x4930fe
mov edx, dword [ebp - 0x86d]
and edx, 0xff
cmp edx, 0xb4
je 0x4928bd
xor eax, eax
jmp 0x4930fe
mov eax, dword [ebp - 0x86c]
and eax, 0xff
cmp eax, 0x29
je 0x4928d4
xor eax, eax
jmp 0x4930fe
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 0x49291a
xor eax, eax
jmp 0x4930fe
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 0x492949
xor eax, eax
jmp 0x4930fe
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 0x492978
xor eax, eax
jmp 0x4930fe
jmp 0x492e44
mov edx, dword [ebp + 8]
cmp dword [edx + 0xe4], 0
je 0x492bd0
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 0x4929e9
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 0x492abb
mov eax, dword [ebp - 0x98c]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x30
jl 0x492a5a
mov edx, dword [ebp - 0x98c]
add edx, dword [ebp - 0x740]
movsx eax, byte [ebp + edx - 0x538]
cmp eax, 0x39
jg 0x492a5a
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 0x492ab6
mov eax, dword [ebp - 0x98c]
add eax, dword [ebp - 0x740]
movsx ecx, byte [ebp + eax - 0x538]
cmp ecx, 0x46
jg 0x492ab6
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 0x4929da
mov edx, dword [ebp - 0x870]
and edx, 0xff
cmp edx, 0x88
jne 0x492adf
mov eax, dword [ebp - 0x86f]
and eax, 0xff
cmp eax, 0x58
je 0x492ae6
xor eax, eax
jmp 0x4930fe
mov ecx, dword [ebp - 0x86e]
and ecx, 0xff
movsx edx, byte [ebp - 0x998]
add edx, 0x40
cmp ecx, edx
jne 0x492b12
mov eax, dword [ebp - 0x86d]
and eax, 0xff
cmp eax, 0x91
je 0x492b19
xor eax, eax
jmp 0x4930fe
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 0x492b6b
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 0x492b72
xor eax, eax
jmp 0x4930fe
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 0x492bc4
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 0x492bcb
xor eax, eax
jmp 0x4930fe
jmp 0x492e44
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x492d01
mov byte [ebp - 0x9a0], 0
xor edx, edx
mov word [ebp - 0x99f], dx
mov dword [ebp - 0x740], 0
jmp 0x492c0b
mov eax, dword [ebp - 0x740]
add eax, 2
mov dword [ebp - 0x740], eax
cmp dword [ebp - 0x740], 0x10
jge 0x492c84
push 3
push 0
lea ecx, [ebp - 0x9a0]
push ecx
call fcn.004e8440
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.004e8ae0
add esp, 0xc
push 0x10
lea eax, [ebp - 0x99c]
push eax
lea ecx, [ebp - 0x9a0]
push ecx
call fcn.004e96f1
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 0x492bfc
mov dword [ebp - 0x740], 0
jmp 0x492c9f
mov eax, dword [ebp - 0x740]
add eax, 2
mov dword [ebp - 0x740], eax
cmp dword [ebp - 0x740], 8
jge 0x492cfc
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 0x492cd1
xor eax, eax
jmp 0x4930fe
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 0x492cfa
xor eax, eax
jmp 0x4930fe
jmp 0x492c90
jmp 0x492e44
mov eax, dword [ebp + 8]
cmp dword [eax + 0xec], 0
je 0x492d89
mov dword [ebp - 0x740], 0
jmp 0x492d28
mov ecx, dword [ebp - 0x740]
add ecx, 2
mov dword [ebp - 0x740], ecx
cmp dword [ebp - 0x740], 8
jge 0x492d89
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 0x492d5c
xor eax, eax
jmp 0x4930fe
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 0x492d87
xor eax, eax
jmp 0x4930fe
jmp 0x492d19
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xf0], 0
je 0x492e44
mov dword [ebp - 0x740], 0
jmp 0x492db4
mov edx, dword [ebp - 0x740]
add edx, 2
mov dword [ebp - 0x740], edx
cmp dword [ebp - 0x740], 0x10
jge 0x492e44
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 0x492e00
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ecx + 0x47e]
test edx, edx
je 0x492e00
xor eax, eax
jmp 0x4930fe
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 0x492e3f
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x740]
movsx edx, byte [ecx + 0x47d]
test edx, edx
je 0x492e3f
xor eax, eax
jmp 0x4930fe
jmp 0x492da5
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.004e8ae0
add esp, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x4ff
push ecx
call fcn.004e9200
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.004e894d
add esp, 0xc
lea ecx, [ebp - 0x520]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 0x740], 0
jmp 0x492ed1
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.004e9200
add esp, 4
cmp dword [ebp - 0x740], eax
jge 0x493015
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 0x492f7f
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x500]
test eax, eax
je 0x492f7f
lea ecx, [ebp - 0x31c]
push ecx
push 0x561730
lea edx, [ebp - 0x520]
push edx
call fcn.004e894d
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 0x56175c
lea edx, [ebp - 0x520]
push edx
call fcn.004e894d
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x4930fe
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 0x493010
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x740]
movsx eax, byte [edx + 0x4ff]
test eax, eax
je 0x493010
lea ecx, [ebp - 0x31c]
push ecx
push str._Incard_SN_is__s______
lea edx, [ebp - 0x520]
push edx
call fcn.004e894d
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.004e894d
add esp, 0xc
lea eax, [ebp - 0x520]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x4930fe
jmp 0x492ec2
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 0x49304a
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.004e9200
add esp, 4
cmp dword [ebp - 0x740], eax
jge 0x4930df
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 0x49309f
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x4af]
test ecx, ecx
je 0x49309f
xor eax, eax
jmp 0x4930fe
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 0x4930da
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x740]
movsx ecx, byte [eax + 0x4ae]
test ecx, ecx
je 0x4930da
xor eax, eax
jmp 0x4930fe
jmp 0x49303b
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