Function at 0x4045b0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc4
mov esi, dword [esp + 0xdc]
mov edi, 0x123767e9
cmp dword [esp + 0xd8], 0x25
jne 0x4046ef
mov byte [esp + 0x3b], 0x6f
mov eax, dword [0x7d528c]
mov dword [esp + 0xc0], eax
movsd xmm0, qword [0x7d5284]
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [0x7d527c]
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [0x7d5274]
movsd qword [esp + 0xa8], xmm0
movsd xmm0, qword [0x7d526c]
movsd qword [esp + 0xa0], xmm0
mov eax, dword [0x7d52b0]
mov dword [esp + 0x9c], eax
movsd xmm0, qword [0x7d52a8]
movsd qword [esp + 0x94], xmm0
movsd xmm0, qword [0x7d52a0]
movsd qword [esp + 0x8c], xmm0
movsd xmm0, qword [0x7d5298]
movsd qword [esp + 0x84], xmm0
movsd xmm0, qword [0x7d5290]
movsd qword [esp + 0x7c], xmm0
mov dword [esp], esi
call fcn.007c3e70
lea edx, [esi + eax]
cmp eax, 1
mov ecx, esi
jle 0x404783
add edi, 0xedc89828
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x68], al
mov byte [esp + 0x13], al
mov byte [esp + 0x48], al
mov byte [esp + 0x53], al
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], ecx
jmp 0x40513a
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
call fcn.007c3e70
lea esi, [ebx + eax]
mov dword [esp + 0x48], esi
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x58], ecx
mov byte [esp + 0x6c], cl
mov byte [esp + 0x5c], cl
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], esi
jle 0x404968
add edi, 0xedc89820
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x58], ecx
mov byte [esp + 0x6c], cl
mov byte [esp + 0x5c], cl
mov byte [esp + 0x53], cl
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x74], ecx
jmp 0x404c5d
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x53], al
mov byte [esp + 0x13], al
mov byte [esp + 0x48], al
mov dword [esp + 0x24], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x14], edx
jmp 0x4052ff
mov byte [esp + 0x5c], 0x42
mov ecx, dword [esp + 0xe4]
movzx ecx, byte [ecx]
cmp ecx, 0x27
je 0x404841
mov ebp, 0xd
movzx ecx, cl
cmp ecx, 0x22
jne 0x4048a2
mov edi, dword [esp + 0x48]
lea ecx, [edi - 1]
mov dword [esp + 0x4c], ecx
movzx ecx, byte [edi - 1]
cmp ecx, 0x22
mov edx, dword [esp + 0x54]
jne 0x40491a
mov esi, ecx
or esi, 2
xor ecx, 2
add ecx, esi
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edi
mov bl, byte [esp + 0x53]
jne 0x404aef
jmp 0x404968
mov cl, 0x13
movzx ecx, cl
cmp ecx, 0x13
jne 0x4048c0
mov edi, 6
mov ebp, dword [esp + 0x48]
lea ecx, [ebp - 1]
mov dword [esp + 0x4c], ecx
movzx ecx, byte [ebp - 1]
cmp ecx, 0x27
je 0x404927
mov ebp, 0xa
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x70]
mov bl, byte [esp + 0x53]
mov bh, dl
mov edx, dword [esp + 0x54]
jne 0x4049eb
jmp 0x404985
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
mov bh, dl
mov edx, dword [esp + 0x54]
jmp 0x404c75
mov edi, 5
mov ebp, dword [esp + 0x48]
lea ecx, [ebp - 1]
mov dword [esp + 0x4c], ecx
movzx ecx, byte [ebp - 1]
cmp ecx, 0x27
jne 0x404946
mov ebp, 0xb
mov ebx, ecx
or ebx, 2
xor ecx, 2
add ecx, ebx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x70]
jne 0x404bad
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
jmp 0x404955
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
jmp 0x404964
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebp
mov ecx, dword [esp + 0x70]
mov bl, byte [esp + 0x53]
mov bh, dl
mov edx, dword [esp + 0x54]
jmp 0x404985
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebp
mov bl, byte [esp + 0x53]
mov bh, dl
mov edx, dword [esp + 0x54]
jmp 0x404c25
mov dword [esp + 0x68], edi
mov bl, 0x1e
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
cmp ecx, ebp
je 0x4049a1
mov edi, 3
mov bh, 0x3e
mov esi, ecx
mov dword [esp + 0x60], ecx
mov ecx, ebp
mov dword [esp + 0x70], ecx
cmp edi, 3
je 0x404bd9
xor ecx, ecx
test cl, cl
je 0x404aef
jmp 0x404bd9
mov esi, dword [esp + 0x74]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x70], ebp
jmp 0x4049d1
mov edi, 0x15
mov bl, 0x14
movzx ebp, byte [esi]
test byte [ebp + ebp + str.________________________________H], 8
mov dword [esp + 0x60], esi
mov ecx, esi
mov dword [esp + 0x74], ecx
jne 0x404bef
mov ebp, 0xf
mov byte [esp + 0x6c], 0x55
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x60]
mov dword [esp + 0x70], ecx
cmp ebp, 0xa
jne 0x404d27
mov ecx, ebp
or ecx, 2
xor ebp, 2
add ebp, ecx
jne 0x404968
jmp 0x404d27
mov edi, 0x10
mov ecx, dword [esp + 0x74]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x70]
cmp esi, ecx
mov edx, dword [esp + 0x54]
je 0x404a45
mov bh, 0x3e
mov ebp, esi
imul ebp, ebp
and ebp, 3
cmp ebp, 2
mov dword [esp + 0x60], ecx
mov bl, byte [esp + 0x53]
jne 0x404bd9
jmp 0x404b03
mov dword [esp + 0x60], ecx
mov bl, byte [esp + 0x53]
jmp 0x404b03
cmp edi, 0x55
jne 0x404a7f
mov esi, 6
mov byte [esp + 0x6c], 0x3b
cmp edx, dword [esp + 0x78]
jne 0x404d82
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, edx
jb 0x404a9c
jmp 0x404d82
mov eax, dword [esp + 0x78]
cmp edx, eax
je 0x404a9a
mov byte [esp + 0x6c], 0xc
xor eax, eax
test al, al
mov eax, edx
je 0x404d03
jmp 0x404a9c
mov eax, edx
sub eax, edx
mov ecx, eax
or ecx, 2
mov esi, eax
xor esi, 2
mov edi, dword [esp + 0xe0]
mov ebx, edi
imul edi, edi
and edi, 3
cmp edi, 2
mov edi, ebx
sbb edi, 0
add esi, ecx
mov esi, edi
cmovne esi, eax
cmp eax, ebx
cmovge esi, edi
mov dword [esp + 4], edx
mov eax, dword [esp + 0xdc]
mov edi, eax
mov dword [esp], edi
mov dword [esp + 8], esi
call fcn.007c51d0
mov byte [edi + esi], 0
xor eax, eax
jmp 0x405204
mov esi, 3
mov edi, 0x1a
movzx ebp, byte [esp + 0x5c]
cmp ebp, 0x42
jne 0x404b3a
cmp edi, 0x10
jne 0x404b1c
imul edi, edi
and edi, 3
cmp edi, 2
jae 0x404b1c
mov esi, dword [esp + 0x74]
jmp 0x4049d1
mov esi, 6
mov byte [esp + 0x5c], 0x42
mov ecx, dword [esp + 0xe4]
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
cmp esi, 3
je 0x404b49
xor ecx, ecx
test cl, cl
je 0x404968
mov esi, 0x10
mov byte [esp + 0x5c], 0x53
mov ecx, dword [esp + 0xe4]
inc ecx
mov dword [esp + 0x64], ecx
mov edi, dword [esp + 0x4c]
jmp 0x404d48
mov ebp, 4
mov ecx, dword [esp + 0x74]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x70]
mov dl, 0x6b
cmp esi, ecx
jne 0x404ba9
mov edi, 0x13
mov ebx, ecx
mov ecx, esi
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, ebx
mov dword [esp + 0x60], ecx
jae 0x404bad
mov esi, dword [esp + 0x58]
mov dword [esp + 0x78], esi
mov dword [esp + 0x60], ecx
jmp 0x404c83
mov dword [esp + 0x60], ecx
cmp ebp, 4
mov bl, byte [esp + 0x53]
mov bh, dl
je 0x404bd1
mov dword [esp + 0x70], ecx
imul ebp, ebp
and ebp, 3
cmp ebp, 3
mov edx, dword [esp + 0x54]
jne 0x404aef
jmp 0x404bd9
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x54]
mov edi, 0xb
mov ebp, 0x14
movzx ecx, bl
cmp ecx, 0x1e
jne 0x404c75
cmp edi, 0xb
jne 0x404c3d
mov ecx, edi
or ecx, 2
xor edi, 2
add edi, ecx
je 0x404c3d
mov edi, 2
mov bl, 0x1e
movzx ebp, byte [esi]
movzx ecx, word [ebp + ebp + str.________________________________H]
test cl, 8
mov dword [esp + 0x60], esi
mov ecx, esi
mov dword [esp + 0x74], ecx
je 0x4049d1
cmp edi, 2
jne 0x404968
mov ecx, 3
sub ecx, edi
xor ecx, edi
je 0x404968
mov dword [esp + 0x54], edx
mov byte [esp + 0x53], bl
mov edi, 0xe
mov ebp, 4
movzx ecx, bh
cmp ecx, 0x6b
mov dl, bh
jne 0x404ce5
cmp edi, 9
je 0x4047d8
xor ecx, ecx
test cl, cl
je 0x404b68
jmp 0x4047d8
cmp ebp, 0xd
jne 0x4049af
jmp 0x404968
cmp edi, 0xc
je 0x404ca8
xor ecx, ecx
test cl, cl
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x58], ecx
mov esi, dword [esp + 0x74]
mov bl, byte [esp + 0x53]
mov edx, dword [esp + 0x54]
je 0x4049d1
jmp 0x404d03
mov bl, byte [esp + 0x53]
mov edx, dword [esp + 0x54]
jmp 0x404d03
mov edi, 0xc
mov byte [esp + 0x6c], 0x55
mov esi, dword [esp + 0x78]
cmp edx, esi
jne 0x404cf7
mov byte [esp + 0x53], bl
mov ebp, 0xb
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
mov eax, edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], esi
je 0x404c83
cmp ebp, 4
je 0x404a0d
mov edx, dword [esp + 0x54]
jmp 0x404a9c
mov byte [esp + 0x53], bl
mov eax, edx
mov dword [esp + 0x54], edx
jmp 0x404c83
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x58], ecx
mov esi, 0x16
lea eax, [ecx - 1]
mov dword [esp + 0x78], eax
movzx eax, byte [ecx - 1]
test byte [eax + eax + str.________________________________H], 8
mov eax, ecx
je 0x404d9e
mov esi, 0xd
movzx edi, byte [esp + 0x6c]
cmp edi, 0xc
je 0x404d9e
mov esi, 1
cmp edi, 0x3b
jne 0x404a52
mov edi, dword [esp + 0x68]
mov ecx, esi
not ecx
and ecx, 1
add ecx, esi
setne cl
movzx ecx, cl
cmp esi, ecx
jne 0x404964
mov byte [esp + 0x6c], 0x46
mov eax, dword [esp + 0x78]
cmp edx, eax
jne 0x404dbc
mov dword [esp + 0x68], edi
mov esi, 0x13
mov eax, edx
and eax, 1
xor eax, edx
not eax
test eax, eax
je 0x404d03
cmp esi, 6
jne 0x404dc5
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
mov eax, edx
jne 0x404d03
jmp 0x404a9c
cmp esi, 0xd
jne 0x404a9c
mov ecx, esi
or ecx, 2
xor esi, 2
add esi, ecx
jne 0x404cb2
jmp 0x404a9c
mov dword [esp + 0x68], edi
jmp 0x404d03
mov eax, edx
jmp 0x404a9c
mov edi, 0x1a
mov eax, dword [esp + 0xdc]
movzx eax, byte [eax]
cmp eax, 0x22
je 0x404e49
movzx eax, al
cmp eax, 0x27
jne 0x404e6c
mov dword [esp + 0x34], edx
mov al, 0x60
mov ebp, 1
movzx eax, al
cmp eax, 1
mov dl, byte [esp + 0x53]
je 0x404e92
cmp eax, 0x13
je 0x404eb9
cmp eax, 0x60
mov byte [esp + 0x13], 0x10
mov byte [esp + 0x48], 0xd
mov ecx, dword [esp + 0x14]
lea eax, [ecx - 1]
mov dword [esp + 0x20], eax
movzx eax, byte [ecx - 1]
cmp eax, 0x27
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
je 0x4052aa
jmp 0x4052ff
mov dword [esp + 0x34], edx
mov byte [esp + 0x13], 0x10
mov byte [esp + 0x48], 0xd
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
jmp 0x404ee5
mov dword [esp + 0x34], edx
mov byte [esp + 0x13], 0x10
mov byte [esp + 0x48], 0xd
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
jmp 0x4052ff
mov byte [esp + 0x13], 0x10
mov byte [esp + 0x48], 0xd
mov eax, dword [esp + 0xdc]
mov ebp, 1
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
jmp 0x40553a
mov byte [esp + 0x13], 0x10
mov byte [esp + 0x48], 0xd
mov eax, dword [esp + 0x40]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xdc]
mov ecx, eax
mov edi, dword [esp + 0x14]
jmp 0x40520f
cmp edi, 0xb
je 0x40561e
mov edi, 0x11
mov al, byte [esp + 0x13]
movzx eax, al
cmp eax, 0x10
je 0x40558a
cmp eax, 0x5e
mov edx, dword [esp + 0x14]
je 0x404f43
cmp eax, 0x63
jne 0x404f75
mov eax, 3
mov byte [esp + 0x13], 0x63
lea ecx, [edx - 1]
mov dword [esp + 0x20], ecx
movzx ecx, byte [edx - 1]
cmp ecx, 0x22
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
jne 0x4052ff
jmp 0x4055a9
mov eax, 0x10
mov byte [esp + 0x13], 0x54
lea ecx, [edx - 1]
mov dword [esp + 0x20], ecx
movzx ecx, byte [edx - 1]
cmp ecx, 0x22
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
jne 0x4052ff
jmp 0x405245
mov byte [esp + 0x13], 0x5e
lea eax, [edx - 1]
mov dword [esp + 0x20], eax
movzx eax, byte [edx - 1]
cmp eax, 0x22
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
je 0x4052aa
jmp 0x4052ff
mov dl, 0x17
add ecx, 1
jb 0x404fb0
mov byte [esp + 0x48], dl
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], eax
jmp 0x4052ff
mov ecx, 0x1c
movzx edx, byte [edi]
test byte [edx + edx + str.________________________________H], 8
je 0x405024
movzx ecx, byte [esp + 0x68]
cmp ecx, 0x61
je 0x405039
mov esi, ebx
mov ebx, 0xb
cmp ecx, 0x7d
je 0x405076
mov byte [esp + 0x68], 0x7d
inc edi
cmp dword [esp + 0x64], edi
mov ebx, esi
jne 0x404fd0
mov dword [esp + 0x40], edi
dec edi
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
jmp 0x405294
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x54]
jmp 0x40516f
mov eax, 4
mov byte [esp + 0x68], 0x2d
lea ecx, [edi + 1]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x64]
lea ecx, [edx - 1]
cmp ecx, edi
mov dword [esp + 0x18], edi
mov ebp, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], edx
mov esi, dword [esp + 0x54]
jne 0x40556f
jmp 0x40548a
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x18], edi
jmp 0x40544d
mov edi, 0xa
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0x7d524b
mov dword [esp + 0x74], ecx
mov ebx, edx
mov esi, dword [esp + 0x6c]
add eax, 1
jb 0x4050a0
mov dword [esp + 0x54], esi
mov esi, ebx
mov edx, ebp
jmp 0x4054c7
mov edi, 0xb
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.007c3e70
cmp eax, ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
jne 0x404ee5
mov edi, 4
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.007c3f10
test eax, eax
mov eax, dword [esp + 0x74]
je 0x405131
mov dword [esp + 0x34], eax
cmp edi, 3
je 0x4052ff
jmp 0x40561e
mov edi, 3
mov cl, 0x57
mov edx, eax
mov dword [esp + 0x74], eax
cmp edi, 3
mov al, cl
jne 0x404dcc
movzx eax, al
cmp eax, 0x4e
jne 0x405189
mov dword [esp + 0x34], edx
mov ecx, 0x10
mov eax, dword [esp + 0xe8]
mov dword [eax], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x58]
cmp ecx, 0x10
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
je 0x405200
jmp 0x40548a
mov eax, 0xffffffff
jmp 0x40519d
mov ecx, dword [esp + 0xe8]
mov dword [ecx], 0
mov dword [esp + 0x60], 0
add eax, 1
jb 0x405190
jmp 0x405200
mov eax, 0xb
mov dl, 0x4e
add ecx, 1
jb 0x4051b0
mov dword [esp + 0x2c], 0x7d52b4
mov byte [esp + 0x53], dl
jmp 0x40536b
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
mov dl, byte [esp + 0x53]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 4]
mov dword [esp + 0x60], 0xffffffff
test eax, eax
je 0x405200
mov dword [esp + 0x2c], eax
mov byte [esp + 0x53], dl
add ecx, 4
mov dword [esp + 0x30], ecx
jmp 0x405413
mov eax, dword [esp + 0x60]
add esp, 0xc4
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ebp
mov ebp, ecx
cmp eax, 1
jne 0x405262
mov byte [esp + 0x53], dl
mov eax, 0x1f
mov ecx, dword [esp + 0x14]
lea edx, [ecx - 1]
mov dword [esp + 0x20], edx
movzx ecx, byte [ecx - 1]
cmp ecx, 0x27
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x64], ecx
je 0x4052aa
cmp eax, 0x10
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
je 0x4052aa
jmp 0x4052ff
mov dword [esp + 0x4c], edi
mov byte [esp + 0x53], dl
mov eax, dword [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
jmp 0x40548a
mov eax, 7
mov dl, 1
add ecx, 1
jb 0x405280
mov byte [esp + 0x48], dl
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x58], ecx
cmp eax, 7
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x4c], ecx
je 0x4052ff
jmp 0x40548a
mov ecx, 0xffffffff
mov dl, byte [esp + 0x48]
movzx eax, dl
cmp eax, 1
je 0x4052d1
cmp eax, 0x17
jne 0x4052df
mov eax, dword [esp + 0xdc]
inc eax
mov dword [esp + 0x5c], eax
jmp 0x404fb2
mov eax, dword [esp + 0xdc]
inc eax
mov dword [esp + 0x5c], eax
jmp 0x405287
mov eax, 0xf
mov dl, 0xd
mov ecx, dword [esp + 0xdc]
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x58], ecx
jmp 0x405654
movzx eax, byte [esp + 0x3b]
cmp eax, 0x6f
jne 0x405340
mov ebp, 5
mov eax, 4
mov byte [esp + 0x3b], 0x6f
mov byte [esp + 0x68], 0x61
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp ecx, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], edx
mov edi, edx
mov dl, byte [esp + 0x53]
jne 0x405385
jmp 0x40520f
mov eax, 0x11
mov byte [esp + 0x3b], 0x62
mov byte [esp + 0x68], 0x61
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp ecx, edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
jne 0x405578
cmp eax, 0xb
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
je 0x405413
jmp 0x40548a
cmp eax, 4
jne 0x405393
mov byte [esp + 0x53], dl
jmp 0x405578
movzx eax, dl
cmp eax, 0x4e
je 0x4053bc
mov ecx, 0xffffffff
cmp eax, 0x7b
jne 0x4053dd
lea eax, [esp + 0x7c]
mov dword [esp + 0x30], eax
mov eax, esi
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
jmp 0x4051b7
mov byte [esp + 0x53], 0x67
lea eax, [esp + 0x7c]
mov dword [esp + 0x30], eax
mov eax, esi
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x7d52b4
jmp 0x405413
lea eax, [esp + 0x7c]
mov dword [esp + 0x30], eax
mov eax, esi
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
jmp 0x405402
mov dl, 0x7b
add ecx, 1
jb 0x405400
mov dword [esp + 0x2c], 0x7d52b4
mov byte [esp + 0x53], dl
mov dword [esp + 0x54], esi
mov esi, ebx
mov ebx, 0x18
mov edi, 4
mov ebp, dword [esp + 0x2c]
mov dword [esp], ebp
call fcn.007c3e70
cmp eax, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
jne 0x4054c7
cmp ebx, 0xb
mov ebx, esi
mov esi, dword [esp + 0x54]
jne 0x40550c
mov byte [esp + 0x68], 0x61
mov eax, dword [esp + 0x18]
lea ecx, [eax + 1]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x64]
cmp ecx, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], edx
mov ebp, edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
jne 0x405578
mov eax, 9
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x44]
nop word [eax + eax]
cmp edi, edx
je 0x4054eb
movzx ecx, byte [edx - 1]
dec edx
test byte [ecx + ecx + str.________________________________H], 8
jne 0x4054a0
inc edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x3c], edi
cmp eax, 7
je 0x4052aa
jmp 0x4054f3
cmp edi, 4
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
mov ebx, esi
mov esi, dword [esp + 0x54]
mov dl, byte [esp + 0x53]
je 0x4051d9
jmp 0x40563f
mov dword [esp + 0x6c], edi
mov dword [esp + 0x3c], edi
mov eax, 0xffffffff
lea ecx, [esp + 0xa0]
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x3c]
jmp 0x4050bf
mov dword [esp + 0x5c], edx
mov edi, 7
mov ebp, 0xd
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.007c3f10
test eax, eax
je 0x40558a
cmp ebp, 1
jne 0x4051cd
mov eax, 0x13
mov edx, dword [esp + 0x14]
lea ecx, [edx - 1]
mov dword [esp + 0x20], ecx
movzx ecx, byte [edx - 1]
cmp ecx, 0x27
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
jne 0x4052ff
cmp eax, 4
jne 0x4052aa
mov dword [esp + 0x54], esi
mov eax, 0xb
mov edi, dword [esp + 0x40]
jmp 0x404fd0
cmp edi, 7
jne 0x4055b7
mov eax, 0xe
mov ecx, dword [esp + 0xe8]
mov dword [ecx], 1
mov dword [esp + 0x60], 0
cmp eax, 3
jne 0x405200
jmp 0x4052aa
mov edi, 3
mov eax, 7
mov byte [esp + 0x13], 0x10
mov edx, dword [esp + 0x14]
lea ecx, [edx - 1]
mov dword [esp + 0x20], ecx
movzx ecx, byte [edx - 1]
cmp ecx, 0x22
mov ecx, dword [esp + 0xdc]
mov ebp, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], edx
je 0x4054bc
jmp 0x405123
mov byte [esp + 0x53], dl
mov al, 0xb
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.007c3e70
cmp eax, ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
je 0x4050fa
mov eax, 0x11
mov dl, 0x67
mov edi, dword [esp + 0x34]
lea ecx, [edi + 4]
mov dword [esp + 0x74], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x78], ecx
test ecx, ecx
je 0x405385
mov eax, 2
mov ecx, dword [esp + 0x70]
test cl, cl
je 0x4055f8
mov byte [esp + 0x53], dl
mov dl, byte [esp + 0x48]
mov byte [esp + 0x48], dl
cmp eax, 2
je 0x4050d1
jmp 0x4052ff