Function at 0x4399d0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43b1f7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
mov dword [ebp - 0x70], 0
mov ecx, dword [ebp + 0xc]
call fcn.00401f20
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x14], 0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov dword [ebp - 0x1c], 0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov dword [ebp - 0x5c], 0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
lea ecx, [ebp - 0x9c]
call fcn.004023d0
mov dword [ebp - 4], 0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov dword [ebp - 0x60], 0
cmp dword [ebp - 0x60], 0x30
je 0x439a85
mov eax, dword [ebp - 0x60]
add eax, 1
mov dword [ebp - 0x60], eax
jmp 0x439a74
mov dword [ebp - 0x64], 0
cmp dword [ebp - 0x64], 0x3c
je 0x439a9d
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
jmp 0x439a8c
mov dword [ebp - 0x68], 0
cmp dword [ebp - 0x68], 0xf
je 0x439ab5
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
jmp 0x439aa4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x78], esp
push 0xae11fc
call fcn.00402420
mov dword [ebp - 0x7c], eax
push 0xae10ac
lea eax, [ebp - 0x58]
push eax
call fcn.0043a910
add esp, 0x24
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.004023d0
mov byte [ebp - 4], 2
mov dword [ebp - 0x10], 0
jmp 0x439b00
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x58]
call fcn.00401f20
cmp dword [ebp - 0x10], eax
jae 0x43a491
cmp dword [ebp - 0x10], 2
jne 0x439b37
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 4
jne 0x439b5d
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 6
jne 0x439b83
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 9
jne 0x439ba9
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0xc
jne 0x439bcf
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0xe
jne 0x439bf5
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x12
jne 0x439c1b
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x16
jne 0x439c41
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x17
jne 0x439c67
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x1a
jne 0x439c8d
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x1b
jne 0x439cb3
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x1d
jne 0x439cd9
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x1f
jne 0x439cff
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x20
jne 0x439d25
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x23
jne 0x439d4b
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x26
jne 0x439d71
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x27
jne 0x439d97
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x2a
jne 0x439dbd
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x2b
jne 0x439de3
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x2f
jne 0x439e09
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x31
jne 0x439e2f
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x32
jne 0x439e55
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x33
jne 0x439e7b
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x35
jne 0x439ea1
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x36
jne 0x439ec7
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x38
jne 0x439eed
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x3a
jne 0x439f13
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x3b
jne 0x439f39
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x3d
jne 0x439f5f
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x3e
jne 0x439f85
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x3f
jne 0x439fab
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x41
jne 0x439fd1
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x42
jne 0x439ff7
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x44
jne 0x43a01d
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x46
jne 0x43a043
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x49
jne 0x43a069
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x4b
jne 0x43a08f
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x4c
jne 0x43a0b5
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x4d
jne 0x43a0db
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x50
jne 0x43a101
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x59
jne 0x43a127
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x5a
jne 0x43a14d
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x5b
jne 0x43a173
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x5c
jne 0x43a199
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x5e
jne 0x43a1bf
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x60
jne 0x43a1e5
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x61
jne 0x43a20b
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x63
jne 0x43a231
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x65
jne 0x43a257
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x68
jne 0x43a27d
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x69
jne 0x43a2a3
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x6d
jne 0x43a2c9
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x6e
jne 0x43a2ef
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x70
jne 0x43a315
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x73
jne 0x43a33b
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x76
jne 0x43a361
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x78
jne 0x43a387
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x79
jne 0x43a3ad
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x7a
jne 0x43a3d3
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
add edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x7c
jne 0x43a3f9
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
sub ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x7e
jne 0x43a41c
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
add eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x81
jne 0x43a442
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx edx, byte [eax]
sub edx, 1
push edx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x83
jne 0x43a468
mov eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx ecx, byte [eax]
add ecx, 1
push ecx
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x43a48c
cmp dword [ebp - 0x10], 0x8e
jne 0x43a48c
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x58]
call fcn.00402050
movsx eax, byte [eax]
sub eax, 1
push eax
lea ecx, [ebp - 0x3c]
call fcn.004020d0
jmp 0x439af7
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x6c]
sub edx, 1
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x74], 0
je 0x43a692
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00402010
movsx ecx, byte [eax]
cmp ecx, 0x3d
je 0x43a692
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00402010
mov al, byte [eax]
movzx ecx, al
push ecx
call fcn.0043ac20
add esp, 4
movzx edx, al
test edx, edx
je 0x43a692
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00402010
mov ecx, dword [ebp - 0x14]
mov dl, byte [eax]
mov byte [ebp + ecx - 0x18], dl
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
cmp dword [ebp - 0x14], 4
jne 0x43a68d
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov dword [ebp - 0x14], 0
jmp 0x43a546
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 4
jge 0x43a576
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push 0
mov eax, dword [ebp - 0x14]
movzx ecx, byte [ebp + eax - 0x18]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.00401eb0
mov edx, dword [ebp - 0x14]
mov byte [ebp + edx - 0x18], al
jmp 0x43a53d
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov eax, 1
imul ecx, eax, 0
movzx edx, byte [ebp + ecx - 0x18]
mov eax, 1
shl eax, 0
movzx ecx, byte [ebp + eax - 0x18]
and ecx, dword [ebp - 0x60]
sar ecx, 4
lea edx, [ecx + edx*4]
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x20], dl
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov edx, 1
shl edx, 0
movzx eax, byte [ebp + edx - 0x18]
and eax, 0xf
shl eax, 4
mov ecx, 1
shl ecx, 1
movzx edx, byte [ebp + ecx - 0x18]
and edx, dword [ebp - 0x64]
sar edx, 2
add eax, edx
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x20], al
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov edx, 1
shl edx, 1
movzx eax, byte [ebp + edx - 0x18]
and eax, 3
shl eax, 6
mov ecx, 1
imul edx, ecx, 3
movzx ecx, byte [ebp + edx - 0x18]
add eax, ecx
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x20], al
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov dword [ebp - 0x14], 0
jmp 0x43a65c
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x43a686
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ebp + ecx - 0x20]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004020d0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
jmp 0x43a653
mov dword [ebp - 0x14], 0
jmp 0x43a491
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
cmp dword [ebp - 0x14], 0
je 0x43a8a0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
jmp 0x43a6bb
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 4
jge 0x43a6f5
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov edx, dword [ebp - 0x1c]
mov byte [ebp + edx - 0x18], 0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
jmp 0x43a6b2
mov dword [ebp - 0x1c], 0
jmp 0x43a707
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x43a745
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push 0
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x18]
push edx
lea ecx, [ebp - 0x3c]
call fcn.00401eb0
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x18], al
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
jmp 0x43a6fe
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov edx, 1
imul eax, edx, 0
movzx ecx, byte [ebp + eax - 0x18]
mov edx, 1
shl edx, 0
movzx eax, byte [ebp + edx - 0x18]
and eax, dword [ebp - 0x60]
sar eax, 4
lea ecx, [eax + ecx*4]
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0x20], cl
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov ecx, 1
shl ecx, 0
movzx edx, byte [ebp + ecx - 0x18]
and edx, dword [ebp - 0x68]
shl edx, 4
mov eax, 1
shl eax, 1
movzx ecx, byte [ebp + eax - 0x18]
and ecx, dword [ebp - 0x64]
sar ecx, 2
add edx, ecx
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x20], dl
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov ecx, 1
shl ecx, 1
movzx edx, byte [ebp + ecx - 0x18]
and edx, 3
shl edx, 6
mov eax, 1
imul ecx, eax, 3
movzx eax, byte [ebp + ecx - 0x18]
add edx, eax
mov ecx, 1
shl ecx, 1
mov byte [ebp + ecx - 0x20], dl
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov dword [ebp - 0x1c], 0
jmp 0x43a839
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x14]
sub eax, 1
cmp dword [ebp - 0x1c], eax
jge 0x43a8a0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ebp + ecx - 0x20]
push edx
lea ecx, [ebp - 0x9c]
call fcn.004020d0
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
jmp 0x43a830
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp + 8]
call fcn.00402290
mov ecx, dword [ebp - 0x70]
or ecx, 1
mov dword [ebp - 0x70], ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.00402160
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.00402160
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.00402160
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret