Function at 0x43cd24
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
cmp dword [0x45fc94], 0
je 0x43e183
push dword [ebp + 8]
call fcn.0040288c
pop ecx
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x43e183
mov edx, dword [ebp + 8]
movsx ecx, byte [edx]
cmp ecx, 0x25
jne 0x43ced6
mov eax, dword [ebp + 8]
mov byte [eax], 0x55
mov edx, dword [ebp + 8]
mov byte [edx + 1], 0x55
mov ecx, dword [ebp + 8]
mov byte [ecx + 2], 0x4d
mov eax, dword [ebp + 8]
mov byte [eax + 3], 0x50
mov edx, dword [ebp + 8]
mov byte [edx + 4], 0x68
mov ecx, dword [ebp + 8]
mov byte [ecx + 5], 0x33
mov eax, dword [ebp + 8]
mov byte [eax + 6], 0x20
mov edx, dword [ebp + 8]
mov byte [edx + 7], 0x10
mov ecx, dword [ebp + 8]
mov byte [ecx + 8], 3
mov eax, dword [ebp + 8]
mov byte [eax + 9], 0xe5
mov edx, dword [ebp + 8]
mov byte [edx + 0xa], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xb], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0xc], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0xd], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xe], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0xf], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x10], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x11], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x12], 9
mov edx, dword [ebp + 8]
mov byte [edx + 0x13], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x14], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x15], 0xa
mov edx, dword [ebp + 8]
mov byte [edx + 0x16], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x17], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x18], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x19], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x1a], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x1b], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x1c], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x1d], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x1e], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x1f], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x20], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x21], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x22], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x23], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x24], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x25], 0xc
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x26], 0xd
mov eax, dword [ebp + 8]
mov byte [eax + 0x27], 0x26
mov edx, dword [ebp + 8]
mov byte [edx + 0x28], 0xc
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x29], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x2a], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x2b], 2
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x2c], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x2d], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x2e], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x2f], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x30], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x31], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x32], 0xb0
mov dword [ebp - 4], 0x33
push dword [ebp - 4]
push dword [ebp + 8]
call fcn.00442798
jmp 0x43e183
mov eax, dword [ebp + 8]
movsx edx, byte [eax]
cmp edx, 0x7e
jne 0x43cf13
mov ecx, dword [ebp + 8]
inc ecx
push ecx
call fcn.0040340c
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
jl 0x43e183
cmp dword [ebp - 4], 3
jg 0x43e183
mov eax, dword [ebp - 4]
dec eax
push eax
call fcn.00434a44
pop ecx
jmp 0x43e183
mov edx, dword [ebp + 8]
movsx ecx, byte [edx]
cmp ecx, 0x23
je 0x43cf43
mov eax, dword [ebp + 8]
movsx edx, byte [eax]
cmp edx, 0x24
je 0x43cf43
mov ecx, dword [ebp + 8]
movsx eax, byte [ecx]
cmp eax, 0x5e
je 0x43cf43
mov edx, dword [ebp + 8]
movsx ecx, byte [edx]
cmp ecx, 0x21
jne 0x43e169
mov eax, dword [ebp + 8]
movsx edx, byte [eax]
cmp edx, 0x5e
jne 0x43cf5c
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 3
jmp 0x43cfa0
mov eax, dword [ebp + 8]
movsx edx, byte [eax]
cmp edx, 0x24
jne 0x43cf77
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 3
jmp 0x43cfa0
mov ecx, dword [ebp + 8]
movsx eax, byte [ecx]
cmp eax, 0x21
jne 0x43cf92
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 5
jmp 0x43cfa0
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 5
add dword [ebp - 0x14], 3
mov edx, dword [ebp + 8]
inc edx
push edx
call fcn.0040340c
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffd8f0
jle 0x43cfc4
cmp dword [ebp - 4], 0x2710
jle 0x43cfcb
mov dword [ebp - 4], 0x64
mov ecx, dword [ebp + 8]
cmp byte [ecx + 1], 0
je 0x43d002
mov eax, dword [ebp + 8]
movsx edx, byte [eax + 2]
push edx
call fcn.00448cb8
pop ecx
test eax, eax
je 0x43d002
mov ecx, dword [ebp + 8]
movsx eax, byte [ecx + 1]
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
add edx, 2
push edx
call fcn.0040340c
pop ecx
mov dword [ebp - 0xc], eax
jmp 0x43d007
xor ecx, ecx
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 8]
mov byte [eax], 0x55
mov edx, dword [ebp + 8]
mov byte [edx + 1], 0x51
mov ecx, dword [ebp + 8]
mov byte [ecx + 2], 0x55
cmp dword [ebp - 0x18], 0
jne 0x43d038
mov eax, dword [ebp + 8]
mov byte [eax + 3], 0x4d
mov edx, dword [ebp + 8]
mov byte [edx + 4], 0x50
mov ecx, dword [ebp + 8]
mov byte [ecx + 5], 0x54
jmp 0x43d0a3
cmp dword [ebp - 0x18], 1
jne 0x43d055
mov eax, dword [ebp + 8]
mov byte [eax + 3], 0x4d
mov edx, dword [ebp + 8]
mov byte [edx + 4], 0x50
mov ecx, dword [ebp + 8]
mov byte [ecx + 5], 0x74
jmp 0x43d0a3
cmp dword [ebp - 0x18], 3
jne 0x43d080
mov eax, dword [ebp + 8]
mov byte [eax + 3], 0x4d
mov edx, dword [ebp + 8]
mov byte [edx + 4], 0x50
mov ecx, dword [ebp + 8]
mov byte [ecx + 5], 0x68
mov eax, dword [ebp + 8]
mov byte [eax + 6], 0x2a
mov edx, dword [ebp + 8]
mov byte [edx + 7], 0x6c
jmp 0x43d0a3
mov ecx, dword [ebp + 8]
mov byte [ecx + 3], 0x4d
mov eax, dword [ebp + 8]
mov byte [eax + 4], 0x70
mov edx, dword [ebp + 8]
mov byte [edx + 5], 0x74
mov ecx, dword [ebp + 8]
mov byte [ecx + 6], 0x2a
mov eax, dword [ebp + 8]
mov byte [eax + 7], 0x6c
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx], 2
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 1], 0x80
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 2], 5
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 3], 0x50
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 4], 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 5], 0xe5
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 6], 0x10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 7], 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 8], 1
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 9], 0x30
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0xa], 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0xb], 0x2e
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0xc], 0xb0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0xd], 1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0xe], 0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0xf], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x10], 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0x11], 0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0x12], 0x3e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x13], 0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0x14], 1
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0x15], 0
cmp dword [ebp - 0x18], 3
jne 0x43d1ca
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x16], 0x78
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0x16], 0x78
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0x16], 0x78
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x16], 0x78
add dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0x16], 0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0x17], 1
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x18], 1
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0x19], 0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 0x1a], 1
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x1b], 5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 8]
mov byte [eax + ecx + 0x1c], 0
cmp dword [ebp - 0x18], 3
jne 0x43d9fc
sub dword [ebp - 0x14], 8
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x20], edx
cmp dword [0x4618a4], 0
jne 0x43d241
cmp dword [ebp - 8], 0x21
jne 0x43d38f
xor ecx, ecx
mov dword [0x4618a4], ecx
push 0x2c
push dword [ebp - 0x20]
push 0x187fb46
call fcn.0044416c
add esp, 0xc
and byte [0x187fb64], 0xfe
and byte [0x187fb67], 0xfc
and byte [0x187fb65], 0xfd
and byte [0x187fb65], 0xf7
or byte [0x187fb65], 1
and byte [0x187fb65], 0xdf
or byte [0x187fb65], 0x10
or byte [0x187fb66], 0x20
mov byte [0x187fb68], 1
mov al, byte [0x187fb64]
and al, 3
or al, 0x14
mov byte [0x187fb64], al
and byte [0x187fb65], 0xf7
and byte [0x187fb66], 0xfd
and byte [0x187fb66], 0xfb
mov word [0x187fb5a], 0x6f
mov word [0x187fb5c], 0x70
mov word [0x187fb5e], 0x71
mov word [0x187fb60], 0x1f4
mov word [0x187fb62], 0x1f5
mov dx, word [0x187fb54]
and dx, 0xc000
or dx, 0x22b
mov word [0x187fb54], dx
mov cx, word [0x187fb56]
and cx, 0xc000
or cx, 0x613
mov word [0x187fb56], cx
mov ax, word [0x187fb58]
and ax, 0xc000
or ax, 0x3cbe
mov word [0x187fb58], ax
mov dx, word [0x187fb48]
and dx, 0xf000
or dx, 0xe6
mov word [0x187fb48], dx
and byte [0x187fb4a], 0
mov cl, byte [0x187fb49]
and cl, 0xf
or cl, 0
mov byte [0x187fb49], cl
and byte [0x187fb4c], 0xf0
mov al, byte [0x187fb4b]
and al, 0
or al, 0xfa
mov byte [0x187fb4b], al
mov word [0x187fb6b], 0x2710
mov word [0x187fb6d], 0x22b
mov word [0x187fb6f], 0xfc18
cmp dword [ebp - 8], 0x58
jne 0x43d4d2
mov byte [0x187fb46], 0xab
mov byte [0x187fb47], 0x21
mov byte [0x187fb48], 0xdf
mov byte [0x187fb49], 0
mov byte [0x187fb4a], 0xe
mov byte [0x187fb4b], 0xdf
mov byte [0x187fb4c], 0
mov byte [0x187fb4d], 0
mov byte [0x187fb4e], 0
mov byte [0x187fb4f], 0
mov byte [0x187fb50], 0
mov byte [0x187fb51], 2
mov byte [0x187fb52], 0
mov byte [0x187fb53], 1
mov byte [0x187fb54], 1
mov byte [0x187fb55], 0
mov byte [0x187fb56], 1
mov byte [0x187fb57], 0
mov byte [0x187fb58], 1
mov byte [0x187fb59], 0
mov byte [0x187fb5a], 1
mov byte [0x187fb5b], 0
mov byte [0x187fb5c], 1
mov byte [0x187fb5d], 0
mov byte [0x187fb5e], 0
mov byte [0x187fb5f], 0
mov byte [0x187fb60], 0xc6
mov byte [0x187fb61], 0
mov byte [0x187fb62], 0
mov byte [0x187fb63], 0
mov byte [0x187fb64], 0x60
mov byte [0x187fb65], 0x14
mov byte [0x187fb66], 0x27
mov byte [0x187fb67], 0xc
mov byte [0x187fb68], 0x24
mov byte [0x187fb69], 1
mov byte [0x187fb6a], 3
mov byte [0x187fb6b], 0
mov byte [0x187fb6c], 0
mov byte [0x187fb6d], 0
mov byte [0x187fb6e], 0
mov byte [0x187fb6f], 0
mov byte [0x187fb70], 0
mov byte [0x187fb71], 0xd0
jmp 0x43e183
cmp dword [ebp - 8], 0x41
jne 0x43d4f4
mov dl, byte [ebp - 0xc]
and dl, 3
mov cl, byte [0x187fb67]
and cl, 0xfc
or dl, cl
mov byte [0x187fb67], dl
jmp 0x43e183
cmp dword [ebp - 8], 0x53
jne 0x43d514
mov al, byte [ebp - 0xc]
and al, 1
mov dl, byte [0x187fb64]
and dl, 0xfe
or al, dl
mov byte [0x187fb64], al
jmp 0x43e183
cmp dword [ebp - 8], 0x44
jne 0x43d536
mov cl, byte [ebp - 0xc]
and cl, 1
add ecx, ecx
mov al, byte [0x187fb65]
and al, 0xfd
or cl, al
mov byte [0x187fb65], cl
jmp 0x43e183
cmp dword [ebp - 8], 0x4c
je 0x43e183
cmp dword [ebp - 8], 0x42
jne 0x43d562
mov dl, byte [ebp - 0xc]
and dl, 1
mov cl, byte [0x187fb65]
and cl, 0xfe
or dl, cl
mov byte [0x187fb65], dl
jmp 0x43e183
cmp dword [ebp - 8], 0x40
jne 0x43d9db
and byte [0x187fb65], 0xdf
or byte [0x187fb65], 0x10
or byte [0x187fb66], 0x20
mov byte [0x187fb68], 1
and byte [0x187fb66], 0xef
cmp dword [ebp - 0xc], 1
jne 0x43d5b1
mov al, byte [0x187fb64]
and al, 3
or al, 0x14
mov byte [0x187fb64], al
mov word [0x187fb5a], 0x457
jmp 0x43d9e5
cmp dword [ebp - 0xc], 2
jne 0x43d5d7
mov dl, byte [0x187fb64]
and dl, 3
or dl, 0x18
mov byte [0x187fb64], dl
mov word [0x187fb5c], 0x458
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x15
jne 0x43d5fd
mov cl, byte [0x187fb64]
and cl, 3
or cl, 0x70
mov byte [0x187fb64], cl
mov word [0x187fb5c], 0x459
jmp 0x43d9e5
cmp dword [ebp - 0xc], 3
jne 0x43d61f
mov al, byte [0x187fb64]
and al, 3
or al, 0x1c
mov byte [0x187fb64], al
mov word [0x187fb60], 0x1f4
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x1f
jne 0x43d645
mov dl, byte [0x187fb64]
and dl, 3
or dl, 0x1c
mov byte [0x187fb64], dl
mov word [0x187fb60], 0x258
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x20
jne 0x43d66b
mov cl, byte [0x187fb64]
and cl, 3
or cl, 0x1c
mov byte [0x187fb64], cl
mov word [0x187fb60], 0x190
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x21
jne 0x43d68d
mov al, byte [0x187fb64]
and al, 3
or al, 0x1c
mov byte [0x187fb64], al
mov word [0x187fb60], 0xa
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x22
jne 0x43d6b3
mov dl, byte [0x187fb64]
and dl, 3
or dl, 0x68
mov byte [0x187fb64], dl
mov word [0x187fb62], 0x22b
jmp 0x43d9e5
cmp dword [ebp - 0xc], 4
jne 0x43d6e4
mov cl, byte [0x187fb64]
and cl, 3
or cl, 0x20
mov byte [0x187fb64], cl
mov ax, word [0x187fb52]
and ax, 0xf
or ax, 0x4c60
mov word [0x187fb52], ax
jmp 0x43d9e5
cmp dword [ebp - 0xc], 5
jne 0x43d719
mov dl, byte [0x187fb64]
and dl, 3
or dl, 0x24
mov byte [0x187fb64], dl
mov cx, word [0x187fb52]
and cx, 0xf
or cx, 0x5350
mov word [0x187fb52], cx
jmp 0x43d9e5
cmp dword [ebp - 0xc], 6
jne 0x43d756
mov al, byte [0x187fb64]
and al, 3
or al, 0x30
mov byte [0x187fb64], al
mov dl, byte [0x187fb51]
and dl, 0
or dl, 0xce
mov byte [0x187fb51], dl
mov cl, byte [0x187fb52]
and cl, 0xf0
or cl, 4
mov byte [0x187fb52], cl
jmp 0x43d9e5
cmp dword [ebp - 0xc], 7
jne 0x43d793
mov al, byte [0x187fb64]
and al, 3
or al, 0x34
mov byte [0x187fb64], al
mov dl, byte [0x187fb51]
and dl, 0
or dl, 0x3c
mov byte [0x187fb51], dl
mov cl, byte [0x187fb52]
and cl, 0xf0
or cl, 5
mov byte [0x187fb52], cl
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x65
jne 0x43d7ec
mov al, byte [0x187fb64]
and al, 3
or al, 0x30
mov byte [0x187fb64], al
mov dl, byte [0x187fb51]
and dl, 0
or dl, 0xb0
mov byte [0x187fb51], dl
mov cl, byte [0x187fb52]
and cl, 0xf0
or cl, 4
mov byte [0x187fb52], cl
or byte [0x187fb66], 0x40
mov al, byte [0x187fb67]
and al, 0xfc
or al, 1
mov byte [0x187fb67], al
or byte [0x187fb65], 2
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x66
jne 0x43d849
mov dl, byte [0x187fb64]
and dl, 3
or dl, 0x30
mov byte [0x187fb64], dl
mov cl, byte [0x187fb51]
and cl, 0
or cl, 0x14
mov byte [0x187fb51], cl
mov al, byte [0x187fb52]
and al, 0xf0
or al, 5
mov byte [0x187fb52], al
or byte [0x187fb66], 0x40
mov dl, byte [0x187fb67]
and dl, 0xfc
or dl, 1
mov byte [0x187fb67], dl
or byte [0x187fb65], 2
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x67
jne 0x43d8a6
mov cl, byte [0x187fb64]
and cl, 3
or cl, 0x30
mov byte [0x187fb64], cl
mov al, byte [0x187fb51]
and al, 0
or al, 0x4c
mov byte [0x187fb51], al
mov dl, byte [0x187fb52]
and dl, 0xf0
or dl, 4
mov byte [0x187fb52], dl
or byte [0x187fb66], 0x40
mov cl, byte [0x187fb67]
and cl, 0xfc
or cl, 1
mov byte [0x187fb67], cl
or byte [0x187fb65], 2
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x68
jne 0x43d8ff
mov al, byte [0x187fb64]
and al, 3
or al, 0x30
mov byte [0x187fb64], al
mov dl, byte [0x187fb51]
and dl, 0
or dl, 0x70
mov byte [0x187fb51], dl
and byte [0x187fb52], 0xf0
or byte [0x187fb66], 0x40
or byte [0x187fb66], 0x10
mov cl, byte [0x187fb67]
and cl, 0xfc
or cl, 1
mov byte [0x187fb67], cl
or byte [0x187fb65], 2
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0xc9
jne 0x43d936
mov al, byte [0x187fb67]
and al, 0xfc
or al, 2
mov byte [0x187fb67], al
mov dl, byte [0x187fb64]
and dl, 3
or dl, 0x14
mov byte [0x187fb64], dl
mov word [0x187fb5a], 0x4bb
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0xca
jne 0x43d971
mov cl, byte [0x187fb67]
and cl, 0xfc
or cl, 2
mov byte [0x187fb67], cl
mov al, byte [0x187fb64]
and al, 3
or al, 0x1c
mov byte [0x187fb64], al
mov word [0x187fb60], 0x5dc
or byte [0x187fb66], 0x10
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0xcb
jne 0x43d9a9
mov dl, byte [0x187fb67]
and dl, 0xfc
or dl, 2
mov byte [0x187fb67], dl
mov cl, byte [0x187fb64]
and cl, 3
or cl, 0x14
mov byte [0x187fb64], cl
mov word [0x187fb5a], 0x51f
jmp 0x43d9e5
cmp dword [ebp - 0xc], 0x12c
jl 0x43d9e5
cmp dword [ebp - 0xc], 0x12f
jg 0x43d9e5
mov al, byte [ebp - 0xc]
add al, 0xd4
and al, 3
mov dl, byte [0x187fb67]
and dl, 0xfc
or al, dl
mov byte [0x187fb67], al
or byte [0x187fb47], 0x40
jmp 0x43d9e5
cmp dword [ebp - 8], 0
jne 0x43e183
push 0x2c
push 0x187fb46
push dword [ebp - 0x20]
call fcn.0044416c
add esp, 0xc
jmp 0x43e0fe
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0x16]
and dl, 3
or dl, 0x14
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x16], dl
cmp dword [ebp - 4], 0
jl 0x43da31
mov ax, word [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x14], ax
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1a], 1
jmp 0x43da46
mov ax, word [ebp - 4]
neg ax
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x14], ax
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x1a], 0
mov eax, dword [ebp - 0x1c]
or byte [eax + 0x18], 0x20
mov edx, dword [ebp - 0x1c]
or byte [edx + 0x17], 0x10
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0xe]
and ax, 0xc000
or ax, 0x22b
mov edx, dword [ebp - 0x1c]
mov word [edx + 0xe], ax
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x10]
and ax, 0xc000
or ax, 0x613
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x10], ax
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x12]
and ax, 0xc000
or ax, 0x3cbe
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x12], ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x1d], 0x2710
mov eax, dword [ebp - 0x1c]
mov word [eax + 0x1f], 0x7f10
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x21], 0xfc18
cmp dword [ebp - 8], 0x4b
jne 0x43dac9
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x16], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x42
jne 0x43dae1
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x17], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x53
jne 0x43daf9
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x18], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x41
jne 0x43db73
cmp dword [ebp - 0xc], 0xa
jl 0x43db61
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0xe]
and ax, 0xc000
or ax, 0x14d
mov edx, dword [ebp - 0x1c]
mov word [edx + 0xe], ax
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x10]
and ax, 0xc000
or ax, 0x535
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x10], ax
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x12]
and ax, 0xc000
or ax, 0x3412
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x12], ax
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 2]
and ax, 0xf000
or ax, 0xc9
mov edx, dword [ebp - 0x1c]
mov word [edx + 2], ax
sub dword [ebp - 0xc], 0xa
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x19], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x43
jne 0x43dc80
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx + 0x16]
and al, 3
or al, 0x30
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x16], al
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x17], 0xfd
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x17], 0xfb
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x19], 0xfc
mov cx, word [ebp - 0xc]
add cx, 0x14d
and cx, 0x3fff
mov eax, dword [ebp - 0x1c]
mov dx, word [eax + 0xe]
and dx, 0xc000
or cx, dx
mov eax, dword [ebp - 0x1c]
mov word [eax + 0xe], cx
mov dx, word [ebp - 0xc]
add dx, 0x535
and dx, 0x3fff
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x10]
and ax, 0xc000
or dx, ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x10], dx
mov dx, word [ebp - 0xc]
add dx, 0x3412
and dx, 0x3fff
mov eax, dword [ebp - 0x1c]
mov cx, word [eax + 0x12]
and cx, 0xc000
or dx, cx
mov eax, dword [ebp - 0x1c]
mov word [eax + 0x12], dx
mov dx, word [ebp - 0xc]
add dx, 0xc9
and dx, 0xfff
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 2]
and ax, 0xf000
or dx, ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 2], dx
mov dx, word [ebp - 0xc]
add dx, 0xca
and dx, 0xfff
shl edx, 4
mov eax, dword [ebp - 0x1c]
mov cx, word [eax + 6]
and cx, 0xf
or dx, cx
mov eax, dword [ebp - 0x1c]
mov word [eax + 6], dx
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx + 0xb]
and cl, 0
or cl, 0xe8
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xb], cl
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx + 0xc]
and cl, 0xf0
or cl, 3
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xc], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x44
jne 0x43dd8a
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx + 0x16]
and cl, 3
or cl, 0x30
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x16], cl
mov edx, dword [ebp - 0x1c]
or byte [edx + 0x17], 2
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x17], 0xfb
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x19], 0xfc
mov dx, word [ebp - 0xc]
add dx, 0x14d
and dx, 0x3fff
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0xe]
and ax, 0xc000
or dx, ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0xe], dx
mov dx, word [ebp - 0xc]
add dx, 0x535
and dx, 0x3fff
mov eax, dword [ebp - 0x1c]
mov cx, word [eax + 0x10]
and cx, 0xc000
or dx, cx
mov eax, dword [ebp - 0x1c]
mov word [eax + 0x10], dx
mov dx, word [ebp - 0xc]
add dx, 0x3412
and dx, 0x3fff
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x12]
and ax, 0xc000
or dx, ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x12], dx
mov dx, word [ebp - 0xc]
add dx, 0xc9
and dx, 0xfff
mov eax, dword [ebp - 0x1c]
mov cx, word [eax + 2]
and cx, 0xf000
or dx, cx
mov eax, dword [ebp - 0x1c]
mov word [eax + 2], dx
mov dx, word [ebp - 0xc]
add dx, 0xca
and dx, 0xfff
shl edx, 4
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 6]
and ax, 0xf
or dx, ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 6], dx
mov edx, dword [ebp - 0x1c]
mov al, byte [edx + 0xb]
and al, 0
or al, 0xe8
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xb], al
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx + 0xc]
and al, 0xf0
or al, 3
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xc], al
jmp 0x43e0fe
cmp dword [ebp - 8], 0x50
jne 0x43dda2
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x1a], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x4c
jne 0x43ddba
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x1b], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x51
jne 0x43ddd2
mov cl, byte [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov byte [edx + eax + 0x1c], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x4d
jne 0x43ddf7
mov cl, byte [ebp - 0xc]
and cl, 1
shl ecx, 6
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 1]
and dl, 0xbf
or cl, dl
mov eax, dword [ebp - 0x1c]
mov byte [eax + 1], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x45
jne 0x43de1e
mov dl, byte [ebp - 0xc]
and dl, 1
and dl, 1
shl edx, 7
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx + 1]
and al, 0x7f
or dl, al
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 1], dl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x49
jne 0x43de40
mov dl, byte [ebp - 0xc]
and dl, 0xf
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + 0xc]
and cl, 0xf0
or dl, cl
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xc], dl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x54
jne 0x43de6c
movsx edx, byte [ebp - 0xc]
and dx, 0xfff
shl edx, 4
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0xc]
and ax, 0xf
or dx, ax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0xc], dx
jmp 0x43e0fe
cmp dword [ebp - 8], 0x52
jne 0x43de91
mov dl, byte [ebp - 0xc]
and dl, 1
shl edx, 4
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + 0x18]
and cl, 0xef
or dl, cl
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x18], dl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x58
jne 0x43debc
mov edx, dword [ebp - 0x1c]
or byte [edx + 0x16], 1
mov cl, byte [ebp - 0xc]
and cl, 1
add ecx, ecx
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0x18]
and dl, 0xfd
or cl, dl
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x18], cl
jmp 0x43e0fe
cmp dword [ebp - 8], 0x40
jne 0x43e0fe
cmp dword [ebp - 0xc], 1
jne 0x43df01
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx + 0x16]
and cl, 3
or cl, 0x14
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x16], cl
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x17], 0xef
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x17], 0xdf
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x18], 0xef
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x14], 0xfa1
jmp 0x43e0fe
cmp dword [ebp - 0xc], 2
jne 0x43df3a
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx + 0x16]
and al, 3
or al, 0x14
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x16], al
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x17], 0xef
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x17], 0xdf
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x18], 0xef
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x14], 1
jmp 0x43e0fe
cmp dword [ebp - 0xc], 3
jne 0x43df75
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0x16]
and dl, 3
or dl, 0x14
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x16], dl
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x17], 0xef
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x17], 0xdf
mov ecx, dword [ebp - 0x1c]
or byte [ecx + 0x18], 0x10
mov eax, dword [ebp - 0x1c]
mov word [eax + 0x14], 0xfa1
jmp 0x43e0fe
cmp dword [ebp - 0xc], 4
jne 0x43dfa5
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x16], 3
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x17], 0xef
mov eax, dword [ebp - 0x1c]
or byte [eax + 0x17], 0x20
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x18], 0xef
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x14], 1
jmp 0x43e0fe
cmp dword [ebp - 0xc], 5
jne 0x43dff2
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0x16]
and dl, 3
or dl, 0x14
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0x16], dl
mov eax, dword [ebp - 0x1c]
or byte [eax + 0x17], 0x10
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x17], 0xdf
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x18], 0xef
mov eax, dword [ebp - 0x1c]
mov word [eax + 0x14], 3
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx + 0x19]
and cl, 0xfc
or cl, 1
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x19], cl
jmp 0x43e0fe
cmp dword [ebp - 0xc], 6
jne 0x43e051
mov edx, dword [ebp - 0x1c]
mov cl, byte [edx + 0x16]
and cl, 3
or cl, 0x20
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x16], cl
mov edx, dword [ebp - 0x1c]
or byte [edx + 0x17], 0x10
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x17], 0xdf
mov eax, dword [ebp - 0x1c]
or byte [eax + 0x17], 1
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x18], 0xef
mov ecx, dword [ebp - 0x1c]
mov ax, word [ecx + 0xc]
and ax, 0xf
or ax, 0x6e0
mov edx, dword [ebp - 0x1c]
mov word [edx + 0xc], ax
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx + 0x19]
and al, 0xfc
or al, 1
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x19], al
jmp 0x43e0fe
cmp dword [ebp - 0xc], 0xa
jl 0x43e0fe
cmp dword [ebp - 0xc], 0xc
jg 0x43e0fe
mov ecx, dword [ebp - 0x1c]
mov al, byte [ecx + 0x16]
and al, 3
or al, 0x30
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x16], al
mov ecx, dword [ebp - 0x1c]
or byte [ecx + 0x17], 0x10
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x17], 0xdf
mov edx, dword [ebp - 0x1c]
or byte [edx + 0x17], 1
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x18], 0xef
mov eax, dword [ebp - 0x1c]
and byte [eax + 0x17], 0xfd
mov edx, dword [ebp - 0x1c]
and byte [edx + 0x17], 0xfb
mov ecx, dword [ebp - 0x1c]
and byte [ecx + 0x19], 0xfc
cmp dword [ebp - 0xc], 0xa
jne 0x43e0c0
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0xb]
and dl, 0
or dl, 0xb0
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0xb], dl
jmp 0x43e0ec
cmp dword [ebp - 0xc], 0xb
jne 0x43e0da
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0xb]
and dl, 0
or dl, 0xe1
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0xb], dl
jmp 0x43e0ec
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0xb]
and dl, 0
or dl, 0x4c
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0xb], dl
mov eax, dword [ebp - 0x1c]
mov dl, byte [eax + 0xc]
and dl, 0xf0
or dl, 4
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 0xc], dl
xor eax, eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], 2
jge 0x43e112
mov dword [ebp - 0x10], 0x21
jmp 0x43e128
cmp dword [ebp - 0x18], 3
jge 0x43e121
mov dword [ebp - 0x10], 0x29
jmp 0x43e128
mov dword [ebp - 0x10], 0x31
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x43e140
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
movsx edx, byte [eax + ecx + 3]
add dword [ebp - 8], edx
inc dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
dec ecx
cmp ecx, dword [ebp - 4]
jg 0x43e12f
mov al, byte [ebp - 8]
and al, 0xff
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov byte [ecx + edx + 3], al
mov eax, dword [ebp - 4]
add eax, 4
push eax
push dword [ebp + 8]
call fcn.00442798
jmp 0x43e183
push 0x45e8b0
push dword [ebp + 8]
call fcn.00444280
add esp, 8
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.00442798
mov esp, ebp
pop ebp
ret