Function at 0x4fc2b8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff408
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
push 0x3e7
lea eax, [ebp - 0x428]
push eax
call fcn.0042e3f0
push 0x3e7
lea edx, [ebp - 0x810]
push edx
call fcn.0042e3f0
push 0x3e7
lea ecx, [ebp - 0xbf8]
push ecx
call fcn.0042e3f0
lea eax, [esi + 8]
mov edx, dword [ebp + 0xc]
push esi
mov esi, eax
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x3f0], eax
mov byte [esi + 0x63c], 0
mov byte [esi + 0x740], 0
mov byte [esi + 0x772], 0
mov byte [esi + 0xbef], 0
xor edx, edx
mov dword [ebp - 4], edx
cmp byte [esi + 0x408], 0
je 0x4fc3fe
cmp byte [esi + 0x46c], 0
je 0x4fc3c1
push esi
lea ecx, [esi + 0xbef]
push ecx
lea eax, [esi + 0x63c]
push eax
push 0
lea edx, [esi + 0x46c]
push edx
call fcn.004f7291
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push 0x56b3c5
lea ecx, [esi + 0x740]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
push esi
push 0
push 0
push dword [esi + 0x5d4]
lea eax, [esi + 0x408]
push eax
call fcn.004f7291
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x4fc432
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x4fc432
push esi
lea ecx, [esi + 0xbef]
push ecx
lea eax, [esi + 0x63c]
push eax
push dword [esi + 0x5d4]
lea edx, [esi + 0x408]
push edx
call fcn.004f7291
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push 0x56b3c9
lea ecx, [esi + 0x740]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x4fc432
push dword [0x56acbc]
push 0x56b3cd
lea eax, [esi + 0x63c]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
push dword [0x56acbc]
push 0x56b3d1
lea edx, [esi + 0x740]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
mov eax, dword [0x56b448]
test eax, eax
je 0x4fc45b
xor edx, edx
mov dword [eax + 0x150], edx
cmp dword [ebp + 0x14], 1
jne 0x4fc451
xor ecx, ecx
mov dword [eax + 0x154], ecx
mov eax, dword [eax + 0x174]
test eax, eax
jne 0x4fc43b
xor eax, eax
mov dword [ebp - 0x3c], eax
xor edx, edx
mov dword [ebp - 0x38], edx
mov eax, dword [esi + 0x3f8]
test eax, eax
je 0x4fc491
push eax
call fcn.004ff1dc
test eax, eax
je 0x4fc491
mov dword [ebp - 0x3c], 1
mov edx, dword [esi + 0x3f8]
mov dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [esi + 0x3f8], ecx
xor eax, eax
mov dword [0x56b16c], eax
mov edx, dword [ebp + 0x10]
mov edi, dword [edx*4 + 0x584cb0]
test edi, edi
je 0x4fd2c9
cmp dword [ebp - 0x3c], 1
jne 0x4fc4c9
jmp 0x4fc4b5
mov edi, dword [edi + 0x30]
test edi, edi
je 0x4fc4c1
mov eax, dword [edi + 0x28]
cmp eax, dword [ebp - 0x38]
jne 0x4fc4b2
test edi, edi
je 0x4fd2c9
test edi, edi
je 0x4fc4f0
push dword [edi + 0x28]
call fcn.004ff1dc
test eax, eax
je 0x4fd2c9
mov edx, dword [edi + 0x28]
cmp dword [edx + 0x150], 0
je 0x4fc4f0
mov edi, dword [edi + 0x30]
test edi, edi
jne 0x4fc4cd
test edi, edi
je 0x4fd2c9
jmp 0x4fc51a
push dword [edi + 0x28]
call fcn.004ff1dc
test eax, eax
je 0x4fd2c9
mov ecx, dword [edi + 0x28]
mov dword [ecx + 0x150], 1
mov edi, dword [edi + 0x40]
test edi, edi
je 0x4fc524
cmp dword [edi + 0x10], 0
je 0x4fc4fa
test edi, edi
je 0x4fd2c9
cmp dword [ebp + 0x10], 0x24
jne 0x4fc552
mov eax, dword [edi + 0x28]
cmp dword [eax + 0x15c], 1
je 0x4fc543
mov edi, dword [edi + 0x30]
jmp 0x4fc4c9
mov edx, dword [edi + 0x28]
mov dword [edx + 0x15c], 2
jmp 0x4fc579
cmp dword [ebp + 0x10], 0x40
jne 0x4fc579
mov ecx, dword [edi + 0x28]
cmp dword [ecx + 0x160], 1
je 0x4fc56c
mov edi, dword [edi + 0x30]
jmp 0x4fc4c9
mov eax, dword [edi + 0x28]
mov dword [eax + 0x160], 2
xor edx, edx
mov dword [ebp - 0x28], edx
push 0x3e7
lea ecx, [esi + 0x1458]
push ecx
call fcn.0042e3f0
push 0x3e7
lea eax, [esi + 0x183f]
push eax
call fcn.0042e3f0
push 0x104
lea edx, [esi + 0x4d0]
push edx
call fcn.0042e3f0
push 0x3e7
lea ecx, [esi + 0x808]
push ecx
call fcn.0042e3f0
mov byte [esi + 0x7a4], 0
mov byte [esi + 0x7d6], 0
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [esi + 0x3f4], 0xffffffff
mov dword [esi + 0x3fc], 1
test edi, edi
je 0x4fd2c9
cmp dword [ebp - 0x3c], 1
jne 0x4fc603
mov edx, dword [edi + 0x28]
cmp edx, dword [ebp - 0x38]
jne 0x4fd2c9
cmp dword [ebp - 0x3c], 2
jne 0x4fc619
mov ecx, dword [edi + 0x28]
cmp ecx, dword [ebp - 0x38]
jne 0x4fc619
mov edi, dword [edi + 0x30]
jmp 0x4fc4c9
mov eax, dword [edi + 0x28]
mov dword [esi + 0x3f8], eax
mov edx, dword [esi + 0x3f8]
mov dword [edx + 0x150], 1
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [esi + 0x400], edx
xor ecx, ecx
mov dword [esi + 0x404], ecx
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0x10], 0x46
jne 0x4fc67b
mov edx, dword [esi + 0x3f8]
cmp dword [edx + 0x14c], 1
jne 0x4fd1c2
mov ecx, dword [esi + 0x3f8]
mov dword [ecx + 0x14c], 2
jmp 0x4fc69a
cmp dword [ebp + 0x10], 0x1d
jne 0x4fc69a
cmp dword [ebp + 0x14], 0
jne 0x4fc69a
mov eax, dword [esi + 0x3f8]
cmp dword [eax + 0x154], 2
je 0x4fd1c2
cmp dword [ebp + 0x10], 2
jne 0x4fc8fb
mov edx, dword [edi + 0x2c]
cmp dword [edx + 0x20], 0
je 0x4fc6c3
lea ecx, [esi + 8]
push ecx
call fcn.00555124
pop ecx
mov edx, dword [edi + 0x2c]
cmp eax, dword [edx + 0x20]
jne 0x4fd1c2
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax]
push esi
push edi
mov edi, ecx
lea esi, [ebp - 0x810]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x810]
mov dword [ebp - 0x14], eax
jmp 0x4fc6ff
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x20
je 0x4fc6fc
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0
je 0x4fd1c2
add dword [ebp - 0x14], 4
jmp 0x4fc71c
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x20
je 0x4fc719
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0
je 0x4fd1c2
push dword [ebp - 0x14]
call fcn.004f7a74
mov ebx, eax
test ebx, ebx
jne 0x4fc748
mov ebx, 0x56b3d5
jmp 0x4fc748
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x20
je 0x4fc745
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x26
jne 0x4fc764
cmp dword [esi], 0
jne 0x4fd1c2
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0
je 0x4fd1c2
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x24
jne 0x4fc7a4
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0x28
jne 0x4fc7a4
push esi
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.004f73c5
test eax, eax
je 0x4fd1c2
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
jmp 0x4fc7ce
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x25
jne 0x4fc7ce
push 0
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.0051bd3b
test eax, eax
je 0x4fd1c2
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x2a
jne 0x4fc7df
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0
je 0x4fc809
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [eax]
test byte [edx*2 + str.________________________________H], 4
je 0x4fc86d
push dword [ebp - 0x14]
call fcn.00555124
pop ecx
push eax
lea ecx, [esi + 8]
push ecx
call fcn.00555124
pop ecx
pop edx
cmp edx, eax
jne 0x4fc86d
push esi
push edi
lea esi, [ebp - 0x428]
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea edx, [esi + 0x183f]
push edx
lea ecx, [esi + 0x1458]
push ecx
lea eax, [ebp - 0x428]
push eax
call fcn.004f7b27
cmp byte [esi + 0x7d6], 0
je 0x4fd1c2
mov dword [ebp - 0x28], 1
jmp 0x4fd1c2
xor edx, edx
mov dl, byte [esi + 8]
test byte [edx*2 + str.________________________________H], 4
jne 0x4fd1c2
lea ecx, [esi + 8]
push ecx
push dword [ebp - 0x14]
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4fd1c2
push esi
push edi
lea esi, [ebp - 0x428]
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea edx, [esi + 0x183f]
push edx
lea ecx, [esi + 0x1458]
push ecx
lea eax, [ebp - 0x428]
push eax
call fcn.004f7b27
cmp byte [esi + 0x7d6], 0
je 0x4fd1c2
mov dword [ebp - 0x28], 1
jmp 0x4fd1c2
cmp dword [ebp + 0x10], 1
jne 0x4fc957
mov edx, dword [edi + 0x2c]
mov ecx, dword [edx]
push esi
push edi
mov edi, ecx
lea esi, [ebp - 0x810]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x810]
mov dword [ebp - 0x10], eax
jmp 0x4fc93d
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp byte [edx], 0x20
je 0x4fc93a
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0
je 0x4fd1c2
add dword [ebp - 0x10], 5
jmp 0x4fc9bf
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + 8]
cmp edx, dword [ebp + 0x14]
jne 0x4fd1c2
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx]
push esi
push edi
mov edi, eax
lea esi, [ebp - 0x810]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x810]
mov dword [ebp - 0x10], eax
jmp 0x4fc9a2
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp byte [edx], 0x20
je 0x4fc99f
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0
je 0x4fd1c2
add dword [ebp - 0x10], 3
jmp 0x4fc9bf
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x20
je 0x4fc9bc
mov edx, dword [ebp - 0x10]
cmp byte [edx], 0
je 0x4fd1c2
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x6d
je 0x4fc9e3
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x4d
jne 0x4fca34
push 3
push 0x56b3de
push dword [ebp - 0x10]
call fcn.0054c52c
add esp, 0xc
test eax, eax
jne 0x4fca34
push esi
call fcn.004f79c4
push eax
lea edx, [esi + 0x408]
push edx
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4fd1c2
add dword [ebp - 0x10], 3
jmp 0x4fca20
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x20
je 0x4fca1d
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
je 0x4fd1c2
push 0x3a
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4fd1c2
mov edx, dword [ebp - 0x14]
mov byte [edx], 0
inc dword [ebp - 0x14]
jmp 0x4fca5c
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0x20
je 0x4fca59
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x4fd1c2
cmp dword [ebp - 4], 0
je 0x4fcb52
cmp byte [esi + 0x740], 0
je 0x4fcb52
xor edx, edx
mov dl, byte [esi + 0x740]
test byte [edx*2 + str.________________________________H], 4
je 0x4fcb52
lea ecx, [esi + 0x740]
push ecx
call fcn.00555124
pop ecx
mov ebx, eax
push 0x3e
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb00
push 0x3d
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcad9
cmp ebx, dword [ebp - 4]
jg 0x4fd1c2
jmp 0x4fcb52
push 0x3c
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcaf5
cmp ebx, dword [ebp - 4]
je 0x4fd1c2
jmp 0x4fcb52
cmp ebx, dword [ebp - 4]
jge 0x4fd1c2
jmp 0x4fcb52
push 0x3c
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb38
push 0x3d
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb2d
cmp ebx, dword [ebp - 4]
jl 0x4fd1c2
jmp 0x4fcb52
cmp ebx, dword [ebp - 4]
jle 0x4fd1c2
jmp 0x4fcb52
push 0x3d
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb52
cmp ebx, dword [ebp - 4]
jne 0x4fd1c2
push 0x26
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb6c
cmp dword [esi], 0
jne 0x4fd1c2
push 0x2b
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb84
mov dword [ebp - 0x2c], 1
push 0x40
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcb9f
mov dword [esi + 0x404], 1
push 0x21
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcbba
mov dword [esi + 0x400], 1
mov byte [esi + 0x772], 0
mov ebx, dword [ebp - 0x10]
jmp 0x4fcc3c
mov al, byte [ebx]
cmp al, 0x26
je 0x4fcc3b
cmp al, 0x2b
je 0x4fcc3b
cmp al, 0x40
je 0x4fcc3b
cmp al, 0x21
je 0x4fcc3b
cmp al, 0x2a
je 0x4fcc3b
cmp al, 0x5e
je 0x4fcc3b
cmp al, 0x20
je 0x4fcc3b
push ebx
call fcn.0054c2d0
pop ecx
cmp eax, 0x23
jbe 0x4fcbf4
mov byte [ebx + 0x23], 0
lea edx, [esi + 0x772]
push esi
push edi
mov esi, edx
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x21
lea eax, [esi + 0x772]
push eax
call fcn.0054c230
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x4fcc46
mov byte [ebx], 0
jmp 0x4fcc46
inc ebx
cmp byte [ebx], 0
je 0x4fcc46
cmp ebx, dword [ebp - 0x14]
jb 0x4fcbc6
cmp byte [esi + 0x7d6], 0
jne 0x4fcc7a
push 0x2a
push dword [ebp - 0x10]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fcc7a
lea eax, [esi + 0x772]
push esi
push edi
mov edi, eax
mov esi, 0x56b3e3
mov eax, edi
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x4fce3e
cmp byte [esi + 0x772], 0
je 0x4fd1c2
lea ebx, [esi + 0x63c]
push ebx
call fcn.0054c2d0
pop ecx
add eax, ebx
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x30], eax
xor edx, edx
mov dword [ebp - 0x34], edx
jmp 0x4fcca6
inc ebx
cmp byte [ebx], 0x20
je 0x4fcca5
cmp byte [ebx], 0
je 0x4fce34
jmp 0x4fcccf
cmp al, 0x3d
jne 0x4fccc3
mov dword [ebp - 0x30], 1
jmp 0x4fccce
cmp al, 0x2b
jne 0x4fccd5
mov dword [ebp - 0x2c], 1
inc ebx
mov al, byte [ebx]
test al, al
jne 0x4fccb6
cmp byte [ebx], 0
je 0x4fce34
push 0x2c
push ebx
call fcn.0054c230
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4fccf8
mov edx, dword [ebp - 8]
mov byte [edx], 0
lea ecx, [esi + 0x740]
push esi
push edi
mov esi, ecx
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
xor eax, eax
mov al, byte [esi + 0x772]
test byte [eax*2 + str.________________________________H], 4
je 0x4fcdd3
xor edx, edx
mov dl, byte [esi + 0x740]
test byte [edx*2 + str.________________________________H], 4
je 0x4fce0e
lea ecx, [esi + 0x740]
push ecx
call fcn.00555124
pop ecx
mov dword [ebp - 0x40], eax
lea eax, [esi + 0x772]
push eax
call fcn.00555124
pop ecx
mov ebx, eax
cmp byte [esi + 0x7d6], 0
je 0x4fcd86
lea eax, [esi + 0x7d6]
push eax
call fcn.00555124
pop ecx
jmp 0x4fcd88
xor eax, eax
cmp dword [ebp - 0x2c], 0
je 0x4fcd93
cmp ebx, dword [ebp - 0x40]
jne 0x4fce0e
cmp eax, ebx
jge 0x4fce0e
cmp dword [ebp - 0x30], 0
je 0x4fcdb7
cmp ebx, dword [ebp - 0x40]
jne 0x4fce0e
cmp dword [ebp - 8], 0
je 0x4fcdae
mov edx, dword [ebp - 8]
mov byte [edx], 0x2c
mov dword [ebp - 0x34], 1
jmp 0x4fce34
cmp ebx, dword [ebp - 0x40]
jg 0x4fce0e
cmp dword [ebp - 8], 0
je 0x4fcdc8
mov ecx, dword [ebp - 8]
mov byte [ecx], 0x2c
mov dword [ebp - 0x34], 1
jmp 0x4fce34
xor eax, eax
mov al, byte [esi + 0x740]
test byte [eax*2 + str.________________________________H], 4
jne 0x4fce0e
push ebx
lea edx, [esi + 0x772]
push edx
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4fce0e
cmp dword [ebp - 8], 0
je 0x4fce05
mov ecx, dword [ebp - 8]
mov byte [ecx], 0x2c
mov dword [ebp - 0x34], 1
jmp 0x4fce34
cmp dword [ebp - 8], 0
je 0x4fce34
mov eax, dword [ebp - 8]
mov byte [eax], 0x2c
mov ebx, dword [ebp - 8]
inc ebx
cmp byte [ebx], 0
je 0x4fce34
cmp ebx, dword [ebp - 0xc]
jae 0x4fce34
mov dword [ebp - 0x30], 1
jmp 0x4fcca6
cmp dword [ebp - 0x34], 0
je 0x4fd1c2
push dword [ebp - 0x14]
call fcn.004f7a74
mov ebx, eax
test ebx, ebx
jne 0x4fce51
mov ebx, str._return
cmp dword [ebp + 0x10], 1
jne 0x4fd131
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x24
jne 0x4fce8f
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0x28
jne 0x4fce8f
push esi
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.004f73c5
test eax, eax
je 0x4fd1c2
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
jmp 0x4fceb9
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x25
jne 0x4fceb9
push 0
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.0051bd3b
test eax, eax
je 0x4fd1c2
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x2a
jne 0x4fcf48
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0
jne 0x4fcf48
push esi
push edi
lea esi, [ebp - 0x428]
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea edx, [esi + 0x183f]
push edx
lea ecx, [esi + 0x1458]
push ecx
lea eax, [ebp - 0x428]
push eax
call fcn.004f7b27
cmp byte [esi + 0x7d6], 0
je 0x4fd1c2
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4fd1c2
mov dword [ebp - 0x28], 1
jmp 0x4fd1c2
push 0x2a
push dword [ebp - 0x14]
call fcn.0054c230
add esp, 8
test eax, eax
jne 0x4fcf6e
push 0x3f
push dword [ebp - 0x14]
call fcn.0054c230
add esp, 8
test eax, eax
je 0x4fd033
push 1
push 0
lea ecx, [esi + 8]
push ecx
push dword [ebp - 0x14]
call fcn.0051d2f8
test eax, eax
je 0x4fd033
push esi
push edi
lea esi, [ebp - 0x428]
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea edx, [esi + 0x183f]
push edx
lea ecx, [esi + 0x1458]
push ecx
lea eax, [ebp - 0x428]
push eax
call fcn.004f7b27
cmp byte [esi + 0x7d6], 0
je 0x4fcff3
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4fcff3
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
jne 0x4fd1c2
lea eax, [esi + 0x808]
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x428]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4fd1c2
push dword [ebp - 0x14]
call fcn.0054c2d0
pop ecx
mov dword [ebp - 0x18], eax
lea eax, [esi + 8]
push eax
call fcn.0054c2d0
pop ecx
cmp eax, dword [ebp - 0x18]
jb 0x4fd1c2
push dword [ebp - 0x18]
lea edx, [esi + 8]
push edx
push dword [ebp - 0x14]
call fcn.0054c52c
add esp, 0xc
test eax, eax
jne 0x4fd1c2
mov ecx, dword [ebp - 0x18]
cmp byte [esi + ecx + 8], 0
je 0x4fd084
mov eax, dword [ebp - 0x18]
cmp byte [esi + eax + 8], 0x20
jne 0x4fd1c2
push esi
push edi
lea esi, [ebp - 0x428]
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea edx, [esi + 0x183f]
push edx
lea ecx, [esi + 0x1458]
push ecx
lea eax, [ebp - 0x428]
push eax
call fcn.004f7b27
cmp byte [esi + 0x7d6], 0
je 0x4fd0f1
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4fd0f1
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
jne 0x4fd1c2
lea eax, [esi + 0x808]
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x428]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
jmp 0x4fd1c2
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x2a
jne 0x4fd142
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0
je 0x4fd155
lea ecx, [esi + 8]
push ecx
push dword [ebp - 0x14]
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4fd1c2
push esi
push edi
lea esi, [ebp - 0x428]
mov edi, ebx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea edx, [esi + 0x183f]
push edx
lea ecx, [esi + 0x1458]
push ecx
lea eax, [ebp - 0x428]
push eax
call fcn.004f7b27
cmp byte [esi + 0x7d6], 0
je 0x4fd1c2
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4fd1c2
mov dword [ebp - 0x28], 1
cmp dword [ebp - 0x28], 0
je 0x4fd20d
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x24]
push dword [ebp + 0x10]
call fcn.004fc0d9
cmp dword [0x56b16c], 0
jne 0x4fc491
push dword [esi + 0x3f8]
call fcn.004ff1dc
test eax, eax
je 0x4fc491
push edi
call fcn.004fe4d4
test eax, eax
je 0x4fc491
mov edi, dword [edi + 0x30]
jmp 0x4fc4c9
cmp dword [edi + 0x40], 0
jne 0x4fd234
cmp byte [esi + 0x7d6], 0
je 0x4fd2c9
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x24]
push dword [ebp + 0x10]
call fcn.004fc0d9
jmp 0x4fd2c9
mov ecx, dword [edi + 0x40]
mov eax, dword [ecx + 0x28]
cmp eax, dword [esi + 0x3f8]
je 0x4fd24f
cmp byte [esi + 0x7d6], 0
jne 0x4fd1c8
cmp dword [esi + 0x3fc], 0
jne 0x4fd26d
cmp byte [esi + 0x7d6], 0
jne 0x4fd1c8
mov edi, dword [edi + 0x30]
jmp 0x4fc4c9
mov edi, dword [edi + 0x40]
jmp 0x4fd2b7
cmp dword [edi + 0x40], 0
jne 0x4fd292
cmp byte [esi + 0x7d6], 0
je 0x4fd2c9
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x24]
push dword [ebp + 0x10]
call fcn.004fc0d9
jmp 0x4fd2c9
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x40]
cmp eax, dword [edx + 0x28]
je 0x4fd2b4
mov dword [eax + 0x150], 1
cmp byte [esi + 0x7d6], 0
jne 0x4fd1c8
mov edi, dword [edi + 0x40]
test edi, edi
je 0x4fd2c1
cmp dword [edi + 0x10], 0
je 0x4fd272
test edi, edi
jne 0x4fc5e9
cmp dword [ebp - 0x3c], 1
jne 0x4fd2e8
mov dword [ebp - 0x3c], 2
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx*4 + 0x584cb0]
test edi, edi
jne 0x4fc4c9
mov eax, dword [esi + 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10