Function at 0x4fdca4
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]
xor eax, eax
mov dword [esi + 0x1c28], eax
push 0x3e7
lea edx, [ebp - 0x428]
push edx
call fcn.0042e6b1
push 0x3e7
lea ecx, [ebp - 0x810]
push ecx
call fcn.0042e6b1
push 0x3e7
lea eax, [ebp - 0xbf8]
push eax
call fcn.0042e6b1
lea edx, [esi + 8]
mov ecx, dword [ebp + 0xc]
push esi
mov esi, edx
mov edi, ecx
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 0x4fddf2
cmp byte [esi + 0x46c], 0
je 0x4fddb5
push esi
lea ecx, [esi + 0xbef]
push ecx
lea eax, [esi + 0x63c]
push eax
push 0
lea edx, [esi + 0x46c]
push edx
call fcn.004f8ab9
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push 0x56d4ed
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.004f8ab9
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x4fde26
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x4fde26
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.004f8ab9
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push 0x56d4f1
lea ecx, [esi + 0x740]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0xc
jmp 0x4fde26
push dword [0x56cde0]
push 0x56d4f5
lea eax, [esi + 0x63c]
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
push dword [0x56cde0]
push 0x56d4f9
lea edx, [esi + 0x740]
push edx
call sub.USER32.dll_wsprintfA
add esp, 0xc
mov eax, dword [0x56d570]
test eax, eax
je 0x4fde47
cmp dword [ebp + 0x14], 1
jne 0x4fde3d
xor edx, edx
mov dword [eax + 0x150], edx
mov eax, dword [eax + 0x170]
test eax, eax
jne 0x4fde2f
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x3f8]
test eax, eax
je 0x4fde7d
push eax
call fcn.00500cba
test eax, eax
je 0x4fde7d
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 [0x56d290], eax
mov edx, dword [ebp + 0x10]
mov edi, dword [edx*4 + 0x586b10]
test edi, edi
je 0x4fecbc
cmp dword [ebp - 0x3c], 1
jne 0x4fdeb5
jmp 0x4fdea1
mov edi, dword [edi + 0x30]
test edi, edi
je 0x4fdead
mov eax, dword [edi + 0x28]
cmp eax, dword [ebp - 0x38]
jne 0x4fde9e
test edi, edi
je 0x4fecbc
test edi, edi
je 0x4fdedd
push dword [edi + 0x28]
call fcn.00500cba
test eax, eax
je 0x4fecbc
push dword [edi + 0x28]
push esi
call fcn.004fdc00
test eax, eax
je 0x4fdedd
mov edi, dword [edi + 0x30]
test edi, edi
jne 0x4fdeb9
test edi, edi
je 0x4fecbc
jmp 0x4fdf0b
push dword [edi + 0x28]
call fcn.00500cba
test eax, eax
je 0x4fecbc
push dword [edi + 0x28]
push esi
call fcn.004fdc25
test eax, eax
je 0x4fecbc
mov edi, dword [edi + 0x40]
test edi, edi
je 0x4fdf15
cmp dword [edi + 0x10], 0
je 0x4fdee7
test edi, edi
je 0x4fecbc
cmp dword [ebp + 0x10], 0x41
jne 0x4fdf43
mov edx, dword [edi + 0x28]
cmp dword [edx + 0x158], 1
je 0x4fdf34
mov edi, dword [edi + 0x30]
jmp 0x4fdeb5
mov ecx, dword [edi + 0x28]
mov dword [ecx + 0x158], 2
jmp 0x4fdf6a
cmp dword [ebp + 0x10], 0x24
jne 0x4fdf6a
mov eax, dword [edi + 0x28]
cmp dword [eax + 0x154], 1
je 0x4fdf5d
mov edi, dword [edi + 0x30]
jmp 0x4fdeb5
mov edx, dword [edi + 0x28]
mov dword [edx + 0x154], 2
xor ecx, ecx
mov dword [ebp - 0x28], ecx
push 0x3e7
lea eax, [esi + 0x1458]
push eax
call fcn.0042e6b1
push 0x3e7
lea edx, [esi + 0x183f]
push edx
call fcn.0042e6b1
push 0x104
lea ecx, [esi + 0x4d0]
push ecx
call fcn.0042e6b1
push 0x3e7
lea eax, [esi + 0x808]
push eax
call fcn.0042e6b1
mov byte [esi + 0x7a4], 0
mov byte [esi + 0x7d6], 0
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [esi + 0x3f4], 0xffffffff
mov dword [esi + 0x3fc], 1
test edi, edi
je 0x4fecbc
cmp dword [ebp - 0x3c], 1
jne 0x4fdff4
mov ecx, dword [edi + 0x28]
cmp ecx, dword [ebp - 0x38]
jne 0x4fecbc
cmp dword [ebp - 0x3c], 2
jne 0x4fe00a
mov eax, dword [edi + 0x28]
cmp eax, dword [ebp - 0x38]
jne 0x4fe00a
mov edi, dword [edi + 0x30]
jmp 0x4fdeb5
mov edx, dword [edi + 0x28]
mov dword [esi + 0x3f8], edx
push dword [edi + 0x28]
push esi
call fcn.004fdc25
test eax, eax
je 0x4fecbc
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], 0x47
jne 0x4fe06d
mov edx, dword [esi + 0x3f8]
cmp dword [edx + 0x14c], 1
jne 0x4febb4
mov ecx, dword [esi + 0x3f8]
mov dword [ecx + 0x14c], 2
jmp 0x4fe08c
cmp dword [ebp + 0x10], 0x1d
jne 0x4fe08c
cmp dword [ebp + 0x14], 0
jne 0x4fe08c
mov eax, dword [esi + 0x3f8]
cmp dword [eax + 0x150], 2
je 0x4febb4
cmp dword [ebp + 0x10], 2
jne 0x4fe2ed
mov edx, dword [edi + 0x2c]
cmp dword [edx + 0x20], 0
je 0x4fe0b5
lea ecx, [esi + 8]
push ecx
call fcn.005570e0
pop ecx
mov edx, dword [edi + 0x2c]
cmp eax, dword [edx + 0x20]
jne 0x4febb4
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 0x4fe0f1
inc dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x20
je 0x4fe0ee
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0
je 0x4febb4
add dword [ebp - 0x14], 4
jmp 0x4fe10e
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x20
je 0x4fe10b
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0
je 0x4febb4
push dword [ebp - 0x14]
call fcn.004f929c
mov ebx, eax
test ebx, ebx
jne 0x4fe13a
mov ebx, 0x56d4fd
jmp 0x4fe13a
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x20
je 0x4fe137
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x26
jne 0x4fe156
cmp dword [esi], 0
jne 0x4febb4
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0
je 0x4febb4
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x24
jne 0x4fe196
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0x28
jne 0x4fe196
push esi
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.004f8bed
test eax, eax
je 0x4febb4
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
jmp 0x4fe1c0
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x25
jne 0x4fe1c0
push 0
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.0051dafd
test eax, eax
je 0x4febb4
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x2a
jne 0x4fe1d1
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0
je 0x4fe1fb
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [eax]
test byte [edx*2 + str.________________________________H], 4
je 0x4fe25f
push dword [ebp - 0x14]
call fcn.005570e0
pop ecx
push eax
lea ecx, [esi + 8]
push ecx
call fcn.005570e0
pop ecx
pop edx
cmp edx, eax
jne 0x4fe25f
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.004f934f
cmp byte [esi + 0x7d6], 0
je 0x4febb4
mov dword [ebp - 0x28], 1
jmp 0x4febb4
xor edx, edx
mov dl, byte [esi + 8]
test byte [edx*2 + str.________________________________H], 4
jne 0x4febb4
lea ecx, [esi + 8]
push ecx
push dword [ebp - 0x14]
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4febb4
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.004f934f
cmp byte [esi + 0x7d6], 0
je 0x4febb4
mov dword [ebp - 0x28], 1
jmp 0x4febb4
cmp dword [ebp + 0x10], 1
jne 0x4fe349
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 0x4fe32f
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp byte [edx], 0x20
je 0x4fe32c
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0
je 0x4febb4
add dword [ebp - 0x10], 5
jmp 0x4fe3b1
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + 8]
cmp edx, dword [ebp + 0x14]
jne 0x4febb4
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 0x4fe394
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp byte [edx], 0x20
je 0x4fe391
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0
je 0x4febb4
add dword [ebp - 0x10], 3
jmp 0x4fe3b1
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x20
je 0x4fe3ae
mov edx, dword [ebp - 0x10]
cmp byte [edx], 0
je 0x4febb4
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x6d
je 0x4fe3d5
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x4d
jne 0x4fe426
push 3
push 0x56d506
push dword [ebp - 0x10]
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x4fe426
push esi
call fcn.004f91ec
push eax
lea edx, [esi + 0x408]
push edx
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4febb4
add dword [ebp - 0x10], 3
jmp 0x4fe412
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x20
je 0x4fe40f
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
je 0x4febb4
push 0x3a
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4febb4
mov edx, dword [ebp - 0x14]
mov byte [edx], 0
inc dword [ebp - 0x14]
jmp 0x4fe44e
inc dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp byte [ecx], 0x20
je 0x4fe44b
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0
je 0x4febb4
cmp dword [ebp - 4], 0
je 0x4fe544
cmp byte [esi + 0x740], 0
je 0x4fe544
xor edx, edx
mov dl, byte [esi + 0x740]
test byte [edx*2 + str.________________________________H], 4
je 0x4fe544
lea ecx, [esi + 0x740]
push ecx
call fcn.005570e0
pop ecx
mov ebx, eax
push 0x3e
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe4f2
push 0x3d
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe4cb
cmp ebx, dword [ebp - 4]
jg 0x4febb4
jmp 0x4fe544
push 0x3c
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe4e7
cmp ebx, dword [ebp - 4]
je 0x4febb4
jmp 0x4fe544
cmp ebx, dword [ebp - 4]
jge 0x4febb4
jmp 0x4fe544
push 0x3c
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe52a
push 0x3d
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe51f
cmp ebx, dword [ebp - 4]
jl 0x4febb4
jmp 0x4fe544
cmp ebx, dword [ebp - 4]
jle 0x4febb4
jmp 0x4fe544
push 0x3d
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe544
cmp ebx, dword [ebp - 4]
jne 0x4febb4
push 0x26
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe55e
cmp dword [esi], 0
jne 0x4febb4
push 0x2b
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe576
mov dword [ebp - 0x2c], 1
push 0x40
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe591
mov dword [esi + 0x404], 1
push 0x21
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe5ac
mov dword [esi + 0x400], 1
mov byte [esi + 0x772], 0
mov ebx, dword [ebp - 0x10]
jmp 0x4fe62e
mov al, byte [ebx]
cmp al, 0x26
je 0x4fe62d
cmp al, 0x2b
je 0x4fe62d
cmp al, 0x40
je 0x4fe62d
cmp al, 0x21
je 0x4fe62d
cmp al, 0x2a
je 0x4fe62d
cmp al, 0x5e
je 0x4fe62d
cmp al, 0x20
je 0x4fe62d
push ebx
call fcn.0054e28c
pop ecx
cmp eax, 0x23
jbe 0x4fe5e6
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.0054e1ec
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x4fe638
mov byte [ebx], 0
jmp 0x4fe638
inc ebx
cmp byte [ebx], 0
je 0x4fe638
cmp ebx, dword [ebp - 0x14]
jb 0x4fe5b8
cmp byte [esi + 0x7d6], 0
jne 0x4fe66c
push 0x2a
push dword [ebp - 0x10]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fe66c
lea eax, [esi + 0x772]
push esi
push edi
mov edi, eax
mov esi, 0x56d50b
mov eax, edi
movsw word es:[edi], word [esi]
pop edi
pop esi
jmp 0x4fe830
cmp byte [esi + 0x772], 0
je 0x4febb4
lea ebx, [esi + 0x63c]
push ebx
call fcn.0054e28c
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 0x4fe698
inc ebx
cmp byte [ebx], 0x20
je 0x4fe697
cmp byte [ebx], 0
je 0x4fe826
jmp 0x4fe6c1
cmp al, 0x3d
jne 0x4fe6b5
mov dword [ebp - 0x30], 1
jmp 0x4fe6c0
cmp al, 0x2b
jne 0x4fe6c7
mov dword [ebp - 0x2c], 1
inc ebx
mov al, byte [ebx]
test al, al
jne 0x4fe6a8
cmp byte [ebx], 0
je 0x4fe826
push 0x2c
push ebx
call fcn.0054e1ec
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4fe6ea
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 0x4fe7c5
xor edx, edx
mov dl, byte [esi + 0x740]
test byte [edx*2 + str.________________________________H], 4
je 0x4fe800
lea ecx, [esi + 0x740]
push ecx
call fcn.005570e0
pop ecx
mov dword [ebp - 0x40], eax
lea eax, [esi + 0x772]
push eax
call fcn.005570e0
pop ecx
mov ebx, eax
cmp byte [esi + 0x7d6], 0
je 0x4fe778
lea eax, [esi + 0x7d6]
push eax
call fcn.005570e0
pop ecx
jmp 0x4fe77a
xor eax, eax
cmp dword [ebp - 0x2c], 0
je 0x4fe785
cmp ebx, dword [ebp - 0x40]
jne 0x4fe800
cmp eax, ebx
jge 0x4fe800
cmp dword [ebp - 0x30], 0
je 0x4fe7a9
cmp ebx, dword [ebp - 0x40]
jne 0x4fe800
cmp dword [ebp - 8], 0
je 0x4fe7a0
mov edx, dword [ebp - 8]
mov byte [edx], 0x2c
mov dword [ebp - 0x34], 1
jmp 0x4fe826
cmp ebx, dword [ebp - 0x40]
jg 0x4fe800
cmp dword [ebp - 8], 0
je 0x4fe7ba
mov ecx, dword [ebp - 8]
mov byte [ecx], 0x2c
mov dword [ebp - 0x34], 1
jmp 0x4fe826
xor eax, eax
mov al, byte [esi + 0x740]
test byte [eax*2 + str.________________________________H], 4
jne 0x4fe800
push ebx
lea edx, [esi + 0x772]
push edx
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4fe800
cmp dword [ebp - 8], 0
je 0x4fe7f7
mov ecx, dword [ebp - 8]
mov byte [ecx], 0x2c
mov dword [ebp - 0x34], 1
jmp 0x4fe826
cmp dword [ebp - 8], 0
je 0x4fe826
mov eax, dword [ebp - 8]
mov byte [eax], 0x2c
mov ebx, dword [ebp - 8]
inc ebx
cmp byte [ebx], 0
je 0x4fe826
cmp ebx, dword [ebp - 0xc]
jae 0x4fe826
mov dword [ebp - 0x30], 1
jmp 0x4fe698
cmp dword [ebp - 0x34], 0
je 0x4febb4
push dword [ebp - 0x14]
call fcn.004f929c
mov ebx, eax
test ebx, ebx
jne 0x4fe843
mov ebx, str._return
cmp dword [ebp + 0x10], 1
jne 0x4feb23
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x24
jne 0x4fe881
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0x28
jne 0x4fe881
push esi
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.004f8bed
test eax, eax
je 0x4febb4
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
jmp 0x4fe8ab
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x25
jne 0x4fe8ab
push 0
lea ecx, [ebp - 0xbf8]
push ecx
push dword [ebp - 0x14]
call fcn.0051dafd
test eax, eax
je 0x4febb4
lea eax, [ebp - 0xbf8]
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x2a
jne 0x4fe93a
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 1], 0
jne 0x4fe93a
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.004f934f
cmp byte [esi + 0x7d6], 0
je 0x4febb4
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4febb4
mov dword [ebp - 0x28], 1
jmp 0x4febb4
push 0x2a
push dword [ebp - 0x14]
call fcn.0054e1ec
add esp, 8
test eax, eax
jne 0x4fe960
push 0x3f
push dword [ebp - 0x14]
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x4fea25
push 1
push 0
lea ecx, [esi + 8]
push ecx
push dword [ebp - 0x14]
call fcn.0051f0b8
test eax, eax
je 0x4fea25
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.004f934f
cmp byte [esi + 0x7d6], 0
je 0x4fe9e5
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4fe9e5
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
jne 0x4febb4
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 0x4febb4
push dword [ebp - 0x14]
call fcn.0054e28c
pop ecx
mov dword [ebp - 0x18], eax
lea eax, [esi + 8]
push eax
call fcn.0054e28c
pop ecx
cmp eax, dword [ebp - 0x18]
jb 0x4febb4
push dword [ebp - 0x18]
lea edx, [esi + 8]
push edx
push dword [ebp - 0x14]
call fcn.0054e4e8
add esp, 0xc
test eax, eax
jne 0x4febb4
mov ecx, dword [ebp - 0x18]
cmp byte [esi + ecx + 8], 0
je 0x4fea76
mov eax, dword [ebp - 0x18]
cmp byte [esi + eax + 8], 0x20
jne 0x4febb4
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.004f934f
cmp byte [esi + 0x7d6], 0
je 0x4feae3
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4feae3
mov dword [ebp - 0x28], 1
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x20]
jne 0x4febb4
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 0x4febb4
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x2a
jne 0x4feb34
mov edx, dword [ebp - 0x14]
cmp byte [edx + 1], 0
je 0x4feb47
lea ecx, [esi + 8]
push ecx
push dword [ebp - 0x14]
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4febb4
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.004f934f
cmp byte [esi + 0x7d6], 0
je 0x4febb4
xor edx, edx
mov dl, byte [esi + 0x7d6]
test byte [edx*2 + str.________________________________H], 4
jne 0x4febb4
mov dword [ebp - 0x28], 1
cmp dword [ebp - 0x28], 0
je 0x4febff
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x24]
push dword [ebp + 0x10]
call fcn.004fda15
cmp dword [0x56d290], 0
jne 0x4fde7d
push dword [esi + 0x3f8]
call fcn.00500cba
test eax, eax
je 0x4fde7d
push edi
call fcn.004fff1c
test eax, eax
je 0x4fde7d
mov edi, dword [edi + 0x30]
jmp 0x4fdeb5
cmp dword [edi + 0x40], 0
jne 0x4fec26
cmp byte [esi + 0x7d6], 0
je 0x4fecbc
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x24]
push dword [ebp + 0x10]
call fcn.004fda15
jmp 0x4fecbc
mov ecx, dword [edi + 0x40]
mov eax, dword [ecx + 0x28]
cmp eax, dword [esi + 0x3f8]
je 0x4fec41
cmp byte [esi + 0x7d6], 0
jne 0x4febba
cmp dword [esi + 0x3fc], 0
jne 0x4fec5f
cmp byte [esi + 0x7d6], 0
jne 0x4febba
mov edi, dword [edi + 0x30]
jmp 0x4fdeb5
mov edi, dword [edi + 0x40]
jmp 0x4fecaa
cmp dword [edi + 0x40], 0
jne 0x4fec84
cmp byte [esi + 0x7d6], 0
je 0x4fecbc
push dword [ebp + 0x14]
push esi
push dword [ebp - 0x24]
push dword [ebp + 0x10]
call fcn.004fda15
jmp 0x4fecbc
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x40]
cmp eax, dword [edx + 0x28]
je 0x4feca7
push eax
push esi
call fcn.004fdc25
test eax, eax
je 0x4fecbc
cmp byte [esi + 0x7d6], 0
jne 0x4febba
mov edi, dword [edi + 0x40]
test edi, edi
je 0x4fecb4
cmp dword [edi + 0x10], 0
je 0x4fec64
test edi, edi
jne 0x4fdfda
cmp dword [ebp - 0x3c], 1
jne 0x4fecdb
mov dword [ebp - 0x3c], 2
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx*4 + 0x586b10]
test edi, edi
jne 0x4fdeb5
add esi, 0x1c28
push esi
call fcn.004c6e49
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10