Function at 0x10426ec
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xdc
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
cmp esi, edi
je 0x10439d9
mov ebx, dword [ebp + 0x10]
cmp ebx, edi
je 0x10439d9
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x104272b
cmp dword [eax + 8], 0x4c
jae 0x104272b
push edi
push edi
push 0x1e8
jmp 0x10439e0
push 0x98
push edi
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 8]
push eax
push esi
call fcn.010465f9
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.010468f3
cmp eax, edi
mov dword [ebp + 0x10], eax
jl 0x10439cb
cmp byte [ebp - 0x14], 0
jne 0x10439ea
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0xe4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x30
jle 0x10428f7
cmp eax, 0x4c
jg 0x10436a3
je 0x10436b6
cmp eax, 0x33
je 0x10435dc
cmp eax, 0x3f
jle 0x1043991
cmp eax, 0x41
jle 0x10427b8
cmp eax, 0x44
jle 0x1043991
cmp eax, 0x46
jg 0x1043991
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.010468f3
cmp eax, edi
mov dword [ebp + 0x10], eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x66
je 0x10427f6
cmp dword [ebp - 0x18], 0x4b
je 0x1042822
cmp dword [ebp - 0x18], 0x47
je 0x10428d9
mov esi, dword [ebp + 8]
xor edi, edi
jmp 0x10427b8
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
mov dword [ebx], 9
call fcn.01042393
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
jmp 0x10428d9
mov dword [ebx], 0xa
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x4b
je 0x1042828
cmp dword [ebp - 0x18], 0x4c
jne 0x1042861
and dword [ebx + 0x24], 0
and dword [ebx + 0x2c], 0
jmp 0x10428cf
cmp dword [ebp - 0x18], 0x4d
jne 0x10435ce
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x4e
jne 0x10435b2
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x4c
jne 0x10435c0
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebx]
cmp eax, 9
je 0x1043991
cmp eax, 0xa
je 0x1043991
mov esi, dword [ebp + 8]
xor edi, edi
jmp 0x104272b
je 0x104351e
dec eax
dec eax
je 0x10434ba
dec eax
dec eax
je 0x104348e
dec eax
je 0x1042c79
sub eax, 0x1d
je 0x1042a67
sub eax, 6
je 0x10429c2
sub eax, 5
jne 0x1043991
mov dword [ebp - 0x10], eax
mov dword [ebp + 0xc], eax
lea edi, [ebp - 0x68]
mov dword [ebp + 0x14], eax
push 1
lea eax, [edi - 0x14]
push eax
push esi
call fcn.010468f3
test eax, eax
jl 0x1042974
cmp byte [edi], 0
jne 0x1042974
mov ecx, dword [edi - 4]
mov edx, dword [ebp + 0x14]
cmp ecx, dword [edx + 0x100ec10]
jne 0x104296e
inc dword [ebp + 0xc]
add dword [ebp + 0x14], 0xc
add edi, 0x18
cmp dword [ebp + 0x14], 0x18
jne 0x104293b
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x104298f
cmp dword [ebp - 0x10], 2
jne 0x104298f
mov dword [ebx], 0xd
lea esi, [ebp - 0x7c]
jmp 0x1042a5b
mov eax, dword [ebp - 0x10]
and dword [ebx], 0
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0x7c]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ec14]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
jmp 0x1043991
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.010468f3
cmp eax, edi
mov dword [ebp + 0x10], eax
jl 0x1042a4e
cmp byte [ebp - 0x14], 0
jne 0x1042a4e
cmp dword [ebp - 0x18], 0x2a
jne 0x1042a4e
mov eax, dword [ebp - 8]
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebx], 5
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x44], eax
jmp 0x1042a27
cmp byte [ebp - 0x14], 0
jne 0x1042a3c
cmp dword [ebp - 0x18], 0x2b
jne 0x1042a17
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1042a27
cmp dword [ebp - 0x18], 0x29
je 0x1043991
cmp dword [ebp - 0x18], 4
je 0x1042a45
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jge 0x10429ff
mov dword [ebx + 0x38], 0x10
jmp 0x1042a55
mov dword [ebx + 0x38], 0x11
jmp 0x1042a55
mov dword [ebx + 0x38], 0x12
and dword [ebx], 0
lea esi, [ebp - 0x28]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x10429b1
push edi
lea eax, [esi + 0xe4]
dec dword [eax]
mov eax, dword [eax]
lea ecx, [ebp + 0x14]
push ecx
push eax
lea eax, [esi + 0xe8]
push eax
mov dword [ebp + 0x14], edi
call fcn.01042059
cmp eax, edi
jl 0x10439ea
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.010468f3
cmp eax, edi
mov dword [ebp + 0x10], eax
jl 0x1042c60
cmp byte [ebp - 0x14], 0
jne 0x1042c60
cmp dword [ebp - 0x18], 0x23
je 0x1042abf
cmp dword [ebp - 0x18], 0x26
jne 0x1042c60
cmp dword [ebp - 0x18], 0x26
jne 0x1042b34
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x40]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1042b1b
cmp byte [ebp - 0x14], 0
jne 0x1042b1b
cmp dword [ebp - 0x18], 0x27
jne 0x1042b1b
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1042b1b
cmp byte [ebp - 0x14], 0
jne 0x1042b1b
cmp dword [ebp - 0x18], 0x23
je 0x1042b34
and dword [ebx], 0
lea esi, [ebp - 0x28]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 7
jmp 0x10429b1
mov eax, dword [ebp - 8]
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x14]
push 0x10
add esi, 0x20
lea edi, [ebx + 0x58]
pop ecx
rep movsd dword es:[edi], dword [esi]
dec dword [ebx + 4]
mov dword [ebx + 0x50], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x54], eax
mov dword [ebx], 4
jmp 0x1042b75
cmp byte [ebp - 0x14], 0
jne 0x1042b8a
cmp dword [ebp - 0x18], 4
je 0x1042b8a
cmp dword [ebp - 0x18], 0x25
je 0x1042ba3
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jge 0x1042b63
and dword [ebx], 0
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 6
jmp 0x10429b1
cmp dword [ebp + 0xc], 0
je 0x1042bff
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
inc eax
push eax
push ebx
push 0
push dword [ebp + 0xc]
call fcn.0104224b
mov dword [ebp + 0x10], eax
cmp eax, 0xc000a083
jne 0x1042bdc
mov eax, dword [ebp - 0x2c]
lea esi, [ebp - 0x3c]
mov dword [ebx + 0x38], eax
jmp 0x10434f4
test eax, eax
jl 0x1043991
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01041d01
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
lea eax, [ebp + 0xc]
push eax
lea eax, [ebx + 0x30]
push eax
lea eax, [ebx + 0x58]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [eax + 0xc0]
cmp dword [ebp + 0xc], 0
mov dword [ebp + 0x10], eax
jne 0x1042c3f
test eax, eax
jl 0x1043991
lea eax, [ebp + 0xc]
push eax
lea eax, [ebx + 0x40]
push eax
lea eax, [ebx + 0x78]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [eax + 0xc0]
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp dword [ebp + 0xc], 0
je 0x1043991
lea esi, [ebx + 0x10]
mov dword [ebx + 0x38], 0x1c
jmp 0x10434f4
and dword [ebx], 0
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 8
jmp 0x10429b1
mov al, byte [esi + 0xe0]
test al, al
je 0x1042c8f
cmp dword [esi + 0xe4], edi
je 0x10434ea
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], edi
test al, al
jne 0x1042ca0
mov byte [esi + 0xe0], 1
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.010468f3
cmp eax, edi
mov dword [ebp + 0x10], eax
jl 0x1042d37
cmp byte [ebp - 0x14], 0
jne 0x1042d37
cmp dword [ebp - 0x18], 6
je 0x1042cc9
cmp dword [ebp - 0x18], 0x16
jne 0x1042d37
cmp dword [ebp - 0x18], 0x16
mov eax, dword [ebp - 8]
mov dword [ebx + 0x50], eax
mov eax, dword [ebp - 4]
mov dword [ebx], 3
mov dword [ebx + 0x54], eax
jne 0x1042d4f
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x40]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1042d43
cmp byte [ebp - 0x14], 0
jne 0x1042d43
cmp dword [ebp - 0x18], 0x17
jne 0x1042d43
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1042d37
cmp byte [ebp - 0x14], 0
jne 0x1042d37
cmp dword [ebp - 0x18], 6
je 0x1042d4f
mov dword [ebx + 0x38], 4
jmp 0x1042a55
mov dword [ebx + 0x38], 5
jmp 0x1042a55
mov eax, dword [ebp - 8]
and dword [ebx + 0x58], 0
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x10], 0
jl 0x1042d9f
push 0
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1042d9f
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call fcn.010465f9
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.01046654
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0x1a
je 0x10433bb
cmp eax, 0x1b
je 0x10433bb
cmp eax, 4
je 0x10433bb
cmp byte [ebp - 0x14], 0
jne 0x10433bb
xor edi, edi
cmp dword [ebp + 0x10], edi
jl 0x10433bb
sub eax, 7
je 0x10430f3
dec eax
je 0x104300e
sub eax, 7
je 0x1042f48
sub eax, 9
je 0x1042e8b
sub eax, 4
jne 0x1042d69
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x10], edi
lea esi, [ebp - 0x98]
push 1
lea eax, [esi - 0x14]
push eax
push dword [ebp + 8]
call fcn.010468f3
test eax, eax
jl 0x1042e3f
cmp byte [esi], 0
jne 0x1042e3f
mov ecx, dword [esi - 4]
cmp ecx, dword [edi + 0x100ed48]
jne 0x1042e39
inc dword [ebp + 0x10]
add edi, 0xc
add esi, 0x18
cmp edi, 0x30
jne 0x1042e09
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x104320a
cmp dword [ebp - 0x10], 4
jne 0x104322b
cmp dword [ebp + 0x14], 0
je 0x1043202
push 1
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 0x58]
push dword [ebp + 0x14]
call fcn.01042059
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x10439ea
push 0x4c
push 0
push dword [ebp - 0xc]
call sub.msvcrt.dll_memset
jmp 0x10430d4
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x10], edi
lea esi, [ebp - 0xc8]
push 1
lea eax, [esi - 0x14]
push eax
push dword [ebp + 8]
call fcn.010468f3
test eax, eax
jl 0x1042ecd
cmp byte [esi], 0
jne 0x1042ecd
mov ecx, dword [esi - 4]
cmp ecx, dword [edi + 0x100ecb8]
jne 0x1042ec7
inc dword [ebp + 0x10]
add edi, 0xc
add esi, 0x18
cmp edi, 0x48
jne 0x1042e97
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x104325e
cmp dword [ebp - 0x10], 6
jne 0x104327f
cmp dword [ebp + 0x14], 0
je 0x1043202
push 1
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 0x58]
push dword [ebp + 0x14]
call fcn.01042059
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x10439ea
mov edi, dword [ebp - 0xc]
lea esi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x10
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x30
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x20
lea esi, [ebp - 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x48], 0
jmp 0x10431e9
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x10], edi
lea esi, [ebp - 0xc8]
push 1
lea eax, [esi - 0x14]
push eax
push dword [ebp + 8]
call fcn.010468f3
test eax, eax
jl 0x1042f8c
cmp byte [esi], 0
jne 0x1042f8c
mov ecx, dword [esi - 4]
cmp ecx, dword [edi + 0x100ed00]
jne 0x1042f86
inc dword [ebp + 0x10]
add edi, 0xc
add esi, 0x18
cmp edi, 0x48
jne 0x1042f56
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x10432b2
cmp dword [ebp - 0x10], 6
jne 0x10432d0
cmp dword [ebp + 0x14], 0
je 0x1043202
push 1
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 0x58]
push dword [ebp + 0x14]
call fcn.01042059
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x10439ea
mov edi, dword [ebp - 0xc]
lea esi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x10
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x30
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x20
lea esi, [ebp - 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x48], 0
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x49], 1
jmp 0x10431f0
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x10], edi
lea esi, [ebp - 0x98]
push 1
lea eax, [esi - 0x14]
push eax
push dword [ebp + 8]
call fcn.010468f3
test eax, eax
jl 0x1043052
cmp byte [esi], 0
jne 0x1043052
mov ecx, dword [esi - 4]
cmp ecx, dword [edi + 0x100ec40]
jne 0x104304c
inc dword [ebp + 0x10]
add edi, 0xc
add esi, 0x18
cmp edi, 0x30
jne 0x104301c
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043300
cmp dword [ebp - 0x10], 4
jne 0x104332f
cmp dword [ebp + 0xc], 0
je 0x1043094
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01041b8d
mov dword [ebp + 0x10], eax
cmp eax, 0xc00000bd
je 0x1043365
test eax, eax
jl 0x10439ea
cmp dword [ebp + 0x14], 0
je 0x1043202
push 1
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 0x58]
push dword [ebp + 0x14]
call fcn.01042059
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x10439ea
push 0x4c
push 0
push dword [ebp - 0xc]
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x48], 1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x49], 0
mov edi, dword [ebp - 0xc]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add esp, 0xc
add edi, 0x20
lea esi, [ebp - 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x10431f0
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x10], edi
lea esi, [ebp - 0xc8]
push 1
lea eax, [esi - 0x14]
push eax
push dword [ebp + 8]
call fcn.010468f3
test eax, eax
jl 0x1043141
cmp byte [esi], 0
jne 0x1043141
mov ecx, dword [esi - 4]
cmp ecx, dword [edi + 0x100ec70]
jne 0x104313b
inc dword [ebp + 0x10]
add edi, 0xc
add esi, 0x18
cmp edi, 0x48
jne 0x104310b
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043374
cmp dword [ebp - 0x10], 6
jne 0x1043379
cmp dword [ebp + 0xc], 0
je 0x104318a
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01041a1b
mov dword [ebp + 0x10], eax
cmp eax, 0xc00000bd
je 0x10433a9
test eax, eax
jl 0x10439ea
cmp dword [ebp + 0x14], 0
je 0x1043202
push 1
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 0x58]
push dword [ebp + 0x14]
call fcn.01042059
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x10439ea
push 0x4c
push 0
push dword [ebp - 0xc]
call sub.msvcrt.dll_memset
mov edi, dword [ebp - 0xc]
lea esi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add edi, 0x30
lea esi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc]
add esp, 0xc
add edi, 0x20
lea esi, [ebp - 0x7c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x48], 1
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x49], 0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x44], eax
inc dword [ebx + 0x58]
jmp 0x1042d69
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x18
lea esi, [ebp + eax - 0xac]
jmp 0x104331c
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0xac]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ed4c]
jmp 0x104335d
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x18
lea esi, [ebp + eax - 0xdc]
jmp 0x104331c
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0xdc]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ecbc]
jmp 0x104335d
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x18
lea esi, [ebp + eax - 0xdc]
jmp 0x104331c
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0xdc]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ed04]
jmp 0x104335d
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x18
lea esi, [ebp + eax - 0xac]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 0xb
jmp 0x1043991
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0xac]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ec44]
mov dword [ebx + 0x38], eax
jmp 0x1043991
lea esi, [ebp - 0x7c]
mov dword [ebx + 0x38], 0x1f
jmp 0x10434f4
and dword [ebx], 0
jmp 0x1043323
mov eax, dword [ebp - 8]
and dword [ebx], 0
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp - 0x10]
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0xdc]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ec74]
jmp 0x104335d
mov dword [ebx + 0x38], 0x1e
lea esi, [ebp - 0xc4]
jmp 0x10434f4
cmp byte [ebp - 0x14], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
jne 0x1043991
cmp dword [ebp + 0x10], 0
jl 0x1043991
xor esi, esi
mov dword [ebp - 0x10], esi
cmp dword [ebp + 0xc], esi
je 0x1043401
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebx + 4]
inc eax
push eax
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.0104224b
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
cmp eax, 0xc000a083
jne 0x1043419
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x38], eax
lea esi, [ebp - 0x4c]
jmp 0x10434f4
cmp eax, esi
jl 0x10439ea
cmp dword [ebp - 0x18], 0x1b
jne 0x1043454
mov byte [ebx + 0x5c], 1
cmp dword [ebp + 0xc], esi
je 0x1043991
mov eax, dword [ebx + 4]
inc eax
push eax
push dword [ebp + 0xc]
call fcn.01041d01
mov dword [ebp + 0x10], eax
test eax, eax
jge 0x1043991
mov eax, dword [ebp + 0x10]
jmp 0x10439ea
push 1
lea eax, [ebp - 0x2c]
push eax
push dword [ebx + 4]
mov eax, dword [ebp + 8]
add eax, 0xe8
push eax
call fcn.01042059
cmp eax, esi
mov dword [ebp + 0x10], eax
jl 0x10439ea
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x2c]
inc dword [eax + 0xe4]
push 0x26
pop ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x1043991
cmp dword [esi + 0xe4], edi
jne 0x10434a1
mov dword [ebx], 1
jmp 0x1043991
and dword [ebx], 0
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 9
jmp 0x10429b1
cmp byte [esi + 0xe0], 0
je 0x1043513
cmp dword [esi + 0xe4], edi
jne 0x1043513
lea eax, [ebp + 0x17]
push eax
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.01046836
cmp eax, edi
mov dword [ebp + 0x10], eax
jl 0x1043991
cmp byte [ebp + 0x17], 0
jne 0x1043513
mov dword [ebx + 0x38], 0x1d
lea esi, [ebp - 0x28]
mov eax, dword [ebp - 8]
and dword [ebx], 0
and dword [ebp + 0x10], 0
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x34], eax
movsd dword es:[edi], dword [esi]
jmp 0x1043991
mov dword [ebx], 7
jmp 0x1042a58
cmp byte [esi + 0xe0], 0
je 0x104352f
cmp dword [esi + 0xe4], edi
je 0x10434ea
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp + 0xc], eax
lea edi, [ebp - 0x68]
mov dword [ebp + 0x14], eax
push 1
lea eax, [edi - 0x14]
push eax
push esi
call fcn.010468f3
test eax, eax
jl 0x1043576
cmp byte [edi], 0
jne 0x1043576
mov ecx, dword [edi - 4]
mov edx, dword [ebp + 0x14]
cmp ecx, dword [edx + 0x100ec28]
jne 0x1043570
inc dword [ebp + 0xc]
add dword [ebp + 0x14], 0xc
add edi, 0x18
cmp dword [ebp + 0x14], 0x18
jne 0x104353d
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x104358e
cmp dword [ebp - 0x10], 2
jne 0x104358e
mov dword [ebx], 8
jmp 0x1042987
mov eax, dword [ebp - 0x10]
and dword [ebx], 0
mov ecx, eax
imul ecx, ecx, 0x18
imul eax, eax, 0xc
lea esi, [ebp + ecx - 0x7c]
lea edi, [ebx + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x100ec2c]
jmp 0x10429ae
push 0
push 0
push 0x23b
jmp 0x1043984
push 0
push 0
push 0x246
jmp 0x1043984
push 0
push 0
push 0x24e
jmp 0x1043984
cmp byte [esi + 0xe0], 0
mov eax, dword [ebp - 8]
je 0x1043601
and dword [ebx], 0
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 0x14
movsd dword es:[edi], dword [esi]
jmp 0x10429b4
mov dword [ebx + 0x50], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0x54], eax
push 1
lea eax, [ebp - 0x28]
push eax
push esi
mov dword [ebx], 2
call fcn.010468f3
cmp eax, edi
jmp 0x1043677
cmp byte [ebp - 0x14], 0
mov eax, dword [ebp - 0x18]
jne 0x1043681
cmp eax, 4
je 0x1043681
cmp eax, 0x34
je 0x1043991
cmp eax, 1
je 0x1043681
sub eax, 0x37
je 0x1043664
dec eax
je 0x104365f
dec eax
je 0x104365a
dec eax
dec eax
jne 0x1043667
test edi, edi
je 0x1043667
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
jmp 0x1043667
lea edi, [ebx + 0x30]
jmp 0x1043667
lea edi, [ebx + 0x40]
jmp 0x1043667
lea edi, [ebx + 0x20]
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
test eax, eax
mov dword [ebp + 0x10], eax
jge 0x1043620
jmp 0x10439ea
cmp eax, 0x34
je 0x1043991
and dword [ebx], 0
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], 0x13
jmp 0x10429b1
cmp eax, 0x4f
je 0x10436b6
cmp eax, 0x65
jne 0x1043991
jmp 0x10436e3
mov esi, dword [ebp + 8]
push 1
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x4f
je 0x10436b3
cmp dword [ebp - 0x18], 0x65
jne 0x10436ee
mov dword [ebx], 0xc
jmp 0x1043991
and dword [ebx + 0x2c], 0
and dword [ebx + 0x24], 0
cmp dword [ebp - 0x18], 0x51
jne 0x1043760
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x52
je 0x104373d
push 0
push 0
push 0x281
jmp 0x1043984
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x50
je 0x1043774
push 0
push 0
push 0x28d
jmp 0x1043984
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
mov dword [ebx], 0xb
movsd dword es:[edi], dword [esi]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
mov eax, dword [ebp - 0x18]
add eax, 0xffffffad
cmp eax, 0xb
ja case.0x10437b6.92
jmp dword [eax*4 + 0x10439f4]
and dword [ebx + 0x40], 0
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
mov eax, dword [ebp - 0x18]
sub eax, 0x5f
mov dword [ebx + 0x54], 3
je 0x1043975
dec eax
je 0x104396c
dec eax
je 0x1043904
dec eax
je 0x1043926
push 0
push 0
push 0x318
jmp 0x1043984
mov dword [ebx + 0x40], 1
jmp 0x10437c1
mov dword [ebx + 0x40], 2
jmp 0x10437c1
mov dword [ebx + 0x40], 3
jmp 0x10437c1
mov dword [ebx + 0x40], 4
jmp 0x10437c1
mov dword [ebx + 0x40], 5
jmp 0x10437c1
mov dword [ebx + 0x40], 6
jmp 0x10437c1
mov dword [ebx + 0x40], 7
jmp 0x10437c1
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x5c
jne case.0x10437b6.94
mov dword [ebx + 0x40], 9
lea edi, [ebx + 0x44]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
je 0x10437c1
jmp 0x1043991
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x5c
je 0x10438fb
push 0
push 0
push 0x2d6
jmp 0x1043984
mov dword [ebx + 0x40], 8
jmp 0x1043892
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
mov dword [ebx + 0x54], 2
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
push 1
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.010468f3
mov dword [ebp + 0x10], eax
test eax, eax
jl 0x1043991
cmp byte [ebp - 0x14], 0
jne 0x1043991
cmp dword [ebp - 0x18], 0x63
je 0x1043952
push 0
push 0
push 0x30a
jmp 0x1043984
lea edi, [ebx + 0x58]
lea esi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp + 8]
movsd dword es:[edi], dword [esi]
call fcn.010468f3
jmp 0x104398e
mov dword [ebx + 0x54], 1
jmp 0x1043991
and dword [ebx + 0x54], 0
jmp 0x1043991
push 0
push 0
push 0x2e5
push 0xc000a083
call fcn.01044429
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
sub eax, dword [ebx + 0x10]
cmp byte [ebp - 0x14], 0
mov dword [ebx + 0x14], eax
je 0x104344c
xor eax, eax
cmp dword [ebp + 0x10], eax
jl 0x104344c
push eax
push eax
push 0x761
push 0xc000a083
call fcn.01044429
mov dword [ebp + 0x10], eax
jmp 0x104344c
push edi
push edi
push 0x1f4
push 0xc000a083
jmp 0x10439e5
push edi
push edi
push 0x1e1
push 0xc000000d
call fcn.01044429
pop edi
pop esi
pop ebx
leave
ret 0x10