Function at 0x47c520
Capabilities:
Contain obfuscated stackstrings
Parse credit card information

Disassembly:
mov eax, 0x8708
call 0x4ec480
mov eax, dword [esp + 0x8718]
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov edi, dword [esp + 0x871c]
mov dword [esp + 0x14], ebp
test eax, eax
je 0x47c583
lea edx, [esp + 0x108]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x47c550
mov eax, dword [esp + 0x872c]
mov edx, eax
mov dword [esp + 0x24], edx
test eax, eax
je 0x47c59d
lea eax, [edx + 1]
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x47c580
cmp cl, 9
jne 0x47cce8
inc eax
jmp 0x47c570
cmp byte [esp + 0x8720], 3
jne 0x47c5df
mov byte [esp + 0x108], 0
mov dword [esp + 0x24], 0
mov ebp, edi
mov dword [esp + 0x10], ebp
mov byte [esp + 0x1a], 0
mov dl, byte [0x49d350]
mov byte [esp + 0x19], 0
cmp byte [ebp], dl
jne 0x47cd4d
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x47c5bc
cmp al, 9
je 0x47c5bc
mov dword [esp + 0x10], ebp
cmp byte [esp + 0x8720], 0
jne 0x47d6b5
jmp 0x47d3c6
mov eax, dword [0x49d3c8]
cmp dword [eax + 0x94], 0
je 0x47ccbd
push 6
push 0x492624
push edi
call 0x4db695
add esp, 0xc
test eax, eax
jne 0x47c60f
mov dword [esp + 0x1c], 1
jmp 0x47c650
push 5
push 0x49262c
push edi
call 0x4db695
add esp, 0xc
test eax, eax
jne 0x47c630
lea esi, [edi + 5]
mov dword [esp + 0x1c], 2
jmp 0x47c653
push 6
push 0x492634
push edi
call 0x4db695
add esp, 0xc
test eax, eax
jne 0x47ccbd
mov dword [esp + 0x1c], 3
lea esi, [edi + 6]
mov al, byte [esi]
test al, al
je 0x47cc6d
cmp al, 0x20
je 0x47c670
cmp al, 9
jne 0x47ccbd
lea esp, [esp]
mov al, byte [esi]
cmp al, 0x20
je 0x47c67a
cmp al, 9
jne 0x47c67d
inc esi
jmp 0x47c670
cmp byte [esi], 0
je 0x47cc6d
mov bl, byte [esi + 1]
push 0
push 0
mov ecx, esi
mov byte [esi + 1], 0
call 0x4cb210
add esp, 8
mov byte [esi + 1], bl
test eax, eax
je 0x47ccbd
cmp byte [ebp + 0x4c], 0
mov ecx, dword [0x49d3c8]
je 0x47c860
mov eax, dword [ecx + 0x94]
cmp byte [eax + 0x30], 0
jne 0x47c860
cmp dword [esp + 0x1c], 2
setne dl
inc dl
mov byte [eax + 0x30], dl
mov eax, dword [ecx + 0x94]
xor ecx, ecx
cmp byte [eax + 0x30], 1
mov eax, dword [ebp + 4]
mov al, byte [eax]
sete cl
xor edx, edx
cmp dword [esp + 0x1c], 1
sete dl
cmp edx, ecx
setne byte [esp + 0x1a]
cmp al, 0xa
jb 0x47c700
cmp al, 0x21
jbe 0x47c715
cmp al, 9
je 0x47c715
cmp al, 0x68
je 0x47c715
cmp al, 0x6a
je 0x47c715
mov byte [esp + 0x1b], 0
cmp al, 0x69
jne 0x47c71a
mov byte [esp + 0x1b], 1
cmp byte [esi], 0
mov byte [esp + 0x19], 0
mov dword [esp + 0x10], esi
je 0x47cc91
mov esi, dword [esp + 0x10]
mov edi, 0x4926ac
mov eax, esi
call fcn.0046cbf0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x47c75f
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47c750
sub eax, edx
add eax, esi
mov dword [esp + 0x20], eax
mov ebp, eax
xor eax, eax
sub ebp, esi
cmp byte [esp + 0x1a], al
je 0x47c77f
mov ecx, dword [0x49d3c8]
mov edx, dword [ecx + 0x94]
cmp byte [edx + 0x30], 1
sete al
inc eax
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x2e]
mov edi, ebp
call fcn.00481750
mov dword [esp + 0x30], eax
test eax, eax
je 0x47cbc4
cmp byte [esp + 0x2a], 0
jne 0x47cbd3
mov ebx, eax
mov al, byte [ebx + 0x17]
test al, al
jne 0x47c7b9
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x47cc4d
mov ecx, dword [esp + 0x10]
push ebp
mov eax, 0x4920bc
call 0x4c8080
add esp, 4
test eax, eax
je 0x47cc4d
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x94]
xor esi, esi
cmp dword [eax + 0xc], esi
jle 0x47c823
xor edi, edi
mov edx, dword [eax + 8]
mov eax, dword [edx + edi]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x10]
push ebp
call 0x4c8080
add esp, 4
test eax, eax
je 0x47cbf1
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x94]
inc esi
add edi, 0x10
cmp esi, dword [eax + 0xc]
jl 0x47c7f0
cmp byte [esp + 0x1a], 0
je 0x47c845
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x54]
cmp eax, 0x7d0
jge 0x47cc11
mov edx, dword [ecx + 0x50]
mov dword [edx + eax*4], ebx
inc dword [ecx + 0x54]
mov ebp, dword [esp + 0x1c]
cmp ebp, 3
jne 0x47c8c0
cmp byte [ebx + 0x17], 0
jne 0x47c8ba
mov eax, dword [ebx + 0xc]
or byte [eax + 0x15], 4
jmp 0x47c8e9
mov eax, dword [ecx + 0x94]
movzx edx, byte [eax + 0x30]
cmp dword [esp + 0x1c], edx
jne 0x47c6d3
mov eax, dword [esp + 0x1c]
cmp eax, 1
jne 0x47c897
push edi
push 0x49263c
mov ecx, ebp
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
cmp eax, 2
jne 0x47c6d3
push edi
push 0x492674
mov ecx, ebp
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
or byte [ebx + 0x15], 4
jmp 0x47c8e9
cmp ebp, 2
jne 0x47c8e9
mov eax, dword [0x49d3c8]
mov ecx, dword [eax + 0x94]
cmp byte [ecx + 0x30], 3
jne 0x47c8e9
cmp byte [ebx + 0x17], 0
jne 0x47c8e5
mov eax, dword [ebx + 0xc]
and byte [eax + 0x15], 0xfb
jmp 0x47c8e9
and byte [ebx + 0x15], 0xfb
mov eax, dword [esp + 0x20]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x47c8fc
cmp cl, 9
jne 0x47c8ff
inc eax
jmp 0x47c8f0
movsx ecx, byte [eax]
mov edi, eax
mov dword [esp + 0x20], edi
cmp ecx, 0x3d
ja case.default.0x47c914
movzx edx, byte [ecx + 0x41a318]
jmp dword [edx*4 + 0x41a304]
xor bl, bl
mov al, byte [edi]
xor cl, cl
xor edx, edx
mov esi, edi
test al, al
je 0x47c9a8
cmp al, 0x2c
jne 0x47c970
test cl, cl
jne case.default.0x47c982
test edx, edx
je 0x47c9a4
jmp case.default.0x47c982
movsx eax, al
add eax, 0xffffffde
cmp eax, 0x3b
ja case.default.0x47c982
movzx eax, byte [eax + 0x41a368]
jmp dword [eax*4 + 0x41a358]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x47c957
mov dword [esp + 0x20], edi
lea eax, [edi - 1]
mov edi, dword [esp + 0x10]
mov edx, edi
call fcn.0046cc50
mov cl, byte [eax + 1]
inc eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x2b], cl
mov byte [eax], 0
cmp ebp, 3
jne 0x47cadf
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x18]
mov dword [esp + 0xa8], eax
mov ebp, esi
mov edi, edi
mov al, byte [ebp]
cmp al, 0x20
je 0x47c9eb
cmp al, 9
jne 0x47c9ee
inc ebp
jmp 0x47c9e0
mov bl, byte [0x49d352]
mov ecx, ebp
mov al, byte [ecx]
test al, al
je 0x47ca0c
lea esp, [esp]
cmp al, bl
je 0x47ca58
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x47ca00
mov esi, dword [esp + 0x14]
push 0
push 0x101
lea eax, [esp + 0xb0]
push eax
push 2
push esi
mov dword [esp + 0xc0], ebp
call fcn.0047e810
test eax, eax
je 0x47cbc4
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x10]
mov dword [esi + 4], eax
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x47cabc
mov edx, dword [esi + 0x25c]
mov dword [eax + 0x14], edx
jmp 0x47cac5
cmp byte [ecx], 0
je 0x47ca0c
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.default.0x47ca73
movzx edx, byte [eax + 0x41a3c8]
jmp dword [edx*4 + 0x41a3a4]
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47caa0
sub eax, edi
inc eax
push eax
push esi
push ecx
call 0x4db7f0
add esp, 0xc
mov ecx, esi
jmp 0x47c9f6
mov eax, dword [esi + 0x25c]
mov dword [esi + 8], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x25c]
mov dword [ecx + 0x10], edx
mov eax, dword [esi + 0x25c]
mov dword [esi + 0xc], eax
jmp 0x47cb71
test bl, bl
je 0x47cb28
lea edx, [esp + 0x4710]
mov eax, edi
sub edx, edi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x47caf0
push 0
push 1
push 1
push 0x4910f0
lea ecx, [esp + 0x4720]
push 0x4910f4
push ecx
xor eax, eax
or ecx, 0xffffffff
call 0x4c8760
add esp, 0x18
lea esi, [esp + 0x4710]
jmp 0x47cb2a
mov esi, edi
cmp byte [esp + 0x1b], 0
je 0x47cb53
cmp byte [esp + 0x19], 0
jne 0x47cb53
mov edx, dword [esp + 0x14]
push 0
push 0
push 0
push 0x6e
push edx
call fcn.0047e810
test eax, eax
je 0x47cbc4
mov byte [esp + 0x19], 1
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.0047c520
test eax, eax
je 0x47cbc4
mov esi, dword [esp + 0x14]
mov al, byte [esp + 0x2b]
mov ecx, dword [esp + 0x34]
mov byte [ecx], al
mov eax, dword [esp + 0x20]
cmp byte [eax], 0x2c
jne 0x47cb96
lea ecx, [eax + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x47cb91
cmp al, 9
jne 0x47cb94
inc ecx
jmp 0x47cb87
mov eax, ecx
cmp byte [eax], 0
mov dword [esp + 0x10], eax
jne 0x47c72c
cmp byte [esp + 0x19], 0
je 0x47cc91
push 0
push 0
push 0
push 0x6f
push esi
call fcn.0047e810
test eax, eax
jne 0x47cc91
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov edx, dword [esp + 0x10]
push edx
push 0x4926b4
mov ecx, ebx
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push 0x4926f8
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov edx, dword [esp + 0x10]
push edx
push 0x49271c
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x18]
push 0x4926cc
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
je 0x47cca3
cmp byte [ebp + 0x4c], 0
je 0x47cca3
mov edx, dword [0x49d3c8]
mov eax, dword [edx + 0x94]
cmp byte [eax + 0x30], 0
jne 0x47cca3
mov byte [eax + 0x30], cl
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
push edi
push 0x492298
mov ecx, ebp
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
push 1
push edi
push ebp
lea ebx, [esp + 0x114]
call fcn.0047e640
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
jne 0x47c56b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ebp, eax
mov al, byte [edx + 1]
mov dword [esp + 0x10], ebp
cmp al, byte [0x49d350]
je 0x47cd43
test al, al
je 0x47cd43
cmp al, 0x20
je 0x47cd43
cmp al, 9
je 0x47cd43
cmp al, 0x28
jne 0x47c5a3
lea eax, [esp + 0x108]
push 0x4920e8
push eax
call 0x4dacb6
add esp, 8
test eax, eax
je 0x47cd43
lea ecx, [esp + 0x108]
push 0x4920ec
push ecx
call 0x4dacb6
add esp, 8
test eax, eax
jne 0x47c5a3
mov byte [esp + 0x1a], 1
jmp 0x47c5a8
cmp byte [esp + 0x8720], 0
jne 0x47d6b5
cmp byte [esp + 0x8724], 0
jne case.default.0x47d1bf
cmp byte [esp + 0x1a], 0
je 0x47d197
lea eax, [esp + 0x108]
push 0x4920e8
push eax
call 0x4dacb6
add esp, 8
test eax, eax
jne 0x47d197
mov ebp, dword [esp + 0x10]
mov al, byte [ebp]
cmp al, 0x28
je case.default.0x47ce72
cmp al, byte [0x49d351]
jne 0x47cdbb
mov al, byte [ebp + 1]
cmp al, 0x20
je case.default.0x47ce72
cmp al, 9
je case.default.0x47ce72
mov cl, byte [0x49d350]
lea edi, [esp + 0x40]
mov eax, ebp
mov byte [esp + 0x40], 0x20
mov byte [esp + 0x41], cl
mov dword [esp + 0x42], 0x3e3c0928
mov dword [esp + 0x46], 0x2d2b3d3a
mov dword [esp + 0x4a], 0x7e212f2a
mov dword [esp + 0x4e], 0x5b5e7c26
mov word [esp + 0x52], 0x3f2e
mov byte [esp + 0x54], 0
call fcn.0046cbf0
test eax, eax
je 0x47ce18
mov cl, byte [eax]
cmp cl, 0x20
je 0x47ce11
cmp cl, 9
jne 0x47ce14
inc eax
jmp 0x47ce05
mov edi, eax
jmp 0x47ce2c
mov eax, ebp
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47ce20
sub eax, edx
lea edi, [eax + ebp]
push 3
push str._T_LSR
push ebp
call 0x4db695
add esp, 0xc
test eax, eax
jne 0x47ce5a
movsx eax, byte [ebp + 3]
push eax
lea edx, [esp + 0x44]
push edx
call 0x4dbc01
add esp, 8
test eax, eax
je 0x47ce5a
mov bl, 1
jmp 0x47ce5c
xor bl, bl
movsx eax, byte [edi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.default.0x47ce72
movzx eax, byte [eax + 0x41a404]
jmp dword [eax*4 + 0x41a3e0]
mov byte [esp + 0x8720], 0x12
jmp 0x47d068
mov eax, ebp
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47d070
sub eax, edx
cmp byte [eax + ebp - 1], 0x7b
lea eax, [eax + ebp - 1]
jne 0x47d6b5
mov byte [eax], cl
sub eax, ebp
mov esi, ebp
call fcn.00475c20
mov byte [esp + 0x19], 1
jmp 0x47d6b5
mov esi, dword [esp + 0x10]
mov cl, byte [esi]
mov bl, byte [0x49d350]
mov al, byte [esi + 1]
movsx edx, cl
add edx, 0xffffffda
lea ebp, [esi + 1]
cmp edx, 0x56
ja case.default.0x47d1bf
movzx edx, byte [edx + 0x41a4b0]
jmp dword [edx*4 + 0x41a488]
mov ebp, dword [esp + 0x10]
cmp byte [esp + 0x1a], 0
je 0x47d577
cmp byte [esp + 0x8724], 0
jne 0x47d577
lea edi, [esp + 0x108]
call fcn.0047e720
mov byte [esp + 0x8720], al
test al, al
jne 0x47d6b5
call fcn.0047e760
mov byte [esp + 0x8724], al
jmp 0x47d585
cmp byte [esp + 0x8720], 0
jne 0x47d6b5
mov al, byte [esp + 0x8724]
test al, al
jne 0x47d6d3
lea eax, [esp + 0x108]
push 0x492780
push eax
call 0x4dacb6
add esp, 8
test eax, eax
jne 0x47d5c4
cmp byte [ebp], al
jne 0x47d5c4
mov byte [esp + 0x8720], 0x68
mov byte [esp + 0x19], 1
jmp 0x47d6b5
movsx eax, byte [ebp]
push eax
push 0x492768
call 0x4dbc01
add esp, 8
test eax, eax
je 0x47d661
mov al, byte [ebp]
cmp al, 0x2b
je 0x47d5e9
cmp al, 0x2d
jne 0x47d636
cmp byte [ebp + 1], al
jne 0x47d636
cmp byte [ebp + 2], 0
je 0x47d5fe
mov byte [esp + 0x8720], 3
jmp 0x47d619
mov cl, byte [0x49d350]
cmp al, 0x2b
setne al
add al, 4
mov byte [esp + 0x8720], al
mov byte [ebp], cl
mov byte [ebp + 1], 0x31
cmp byte [esp + 0x8720], 0
mov esi, dword [esp + 0x871c]
mov ebp, esi
mov dword [esp + 0x10], ebp
jne 0x47d6b5
jmp 0x47d668
cmp al, 0x3f
je 0x47d658
push 0x3f
push ebp
call 0x4dbc01
add esp, 8
test eax, eax
je 0x47d661
push 0x3a
push eax
call 0x4dbc01
add esp, 8
test eax, eax
je 0x47d661
mov ebp, dword [esp + 0x871c]
jmp 0x47d6a9
mov esi, dword [esp + 0x871c]
mov al, byte [ebp]
cmp al, 0x28
je 0x47d6a7
cmp al, 0x5b
je 0x47d6a7
push 0x492188
push esi
call 0x4dbd42
add esp, 8
test eax, eax
mov eax, 0x492788
jne 0x47d68f
mov eax, 0x492298
mov ecx, dword [esp + 0x14]
push esi
push eax
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ebp, esi
mov dword [esp + 0x10], ebp
mov byte [esp + 0x8720], 3
movzx eax, byte [esp + 0x8720]
lea edx, [eax*8]
sub edx, eax
lea eax, [edx*2 + 0x49d3e0]
mov dword [esp + 0x38], eax
jmp 0x47d6ea
movzx eax, al
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*2 + 0x49dfe0]
mov dword [esp + 0x38], edx
push 0x4001
lea eax, [esp + 0x70c]
push 0
push eax
call 0x4e52e0
mov edx, dword [esp + 0x873c]
add esp, 0xc
test edx, edx
je 0x47d7a1
mov ecx, dword [esp + 0x8734]
mov eax, ebp
sub eax, dword [esp + 0x24]
sub ecx, eax
test ecx, ecx
jle 0x47d737
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x710]
push ecx
call 0x4df470
add esp, 0xc
mov al, byte [esp + 0x8720]
mov dword [esp + 0x1c], 0
cmp al, 0x22
jne 0x47d94f
mov ebx, dword [esp + 0x10]
xor ebp, ebp
xor esi, esi
cmp byte [ebx], 0
je 0x47da24
mov dl, byte [0x49d350]
cmp ebp, 0x14
jge 0x47d849
mov al, byte [esi + ebx]
lea ecx, [esi + ebx]
test al, al
je 0x47d83f
lea edi, [esp + 0x708]
sub edi, ebx
cmp al, dl
jne 0x47d793
cmp byte [edi + ecx], 0
je 0x47d833
mov al, byte [ecx + 1]
inc ecx
inc esi
test al, al
jne 0x47d785
jmp 0x47d83f
xor esi, esi
cmp byte [esi + ebp], 0
mov al, byte [0x49d352]
je 0x47d7bc
mov edi, edi
cmp byte [esi + ebp], al
je 0x47d7bc
inc esi
cmp byte [esi + ebp], 0
jne 0x47d7b0
cmp byte [esi + ebp], 0
lea ebx, [esi + ebp]
je 0x47d737
movsx eax, byte [esi + ebp + 1]
lea ecx, [esi + ebp + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.default.0x47d7e1
movzx edx, byte [eax + 0x41a574]
jmp dword [edx*4 + 0x41a554]
mov eax, ecx
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x47d810
sub eax, edi
inc eax
push eax
push ecx
push ebx
call 0x4df470
add esp, 0xc
mov byte [esp + esi + 0x708], 1
inc esi
jmp 0x47d7a3
lea eax, [esi + ebx]
mov dword [esp + ebp*4 + 0xb0], eax
inc ebp
inc esi
cmp byte [esi + ebx], 0
jne 0x47d765
test ebp, ebp
je 0x47da24
cmp ebp, 1
jg 0x47d863
mov dword [esp + 0x1c], 1
jmp 0x47da24
mov esi, dword [esp + 0xb0]
push 0
push 0
push 1
push 0
mov eax, ebx
mov byte [esi], 0
call 0x4c7e80
add esp, 0x10
test eax, eax
jne 0x47d88b
mov dword [esp + 0x1c], 1
cmp dword [esp + 0x1c], 0
mov cl, byte [0x49d350]
mov byte [esi], cl
jne 0x47da24
mov edi, 3
cmp ebp, edi
jne 0x47d902
mov esi, dword [esp + 0xb8]
push 0
push 1
push 1
push 0
lea eax, [esi + 1]
call 0x4c7e80
add esp, 0x10
test eax, eax
jne 0x47da24
lea eax, [esi + 1]
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x20
je 0x47d8dc
cmp cl, 9
jne 0x47d8df
inc eax
jmp 0x47d8d0
mov dl, byte [eax]
cmp dl, byte [0x49d351]
jne 0x47d8f9
sub eax, ebx
cmp byte [esp + eax + 0x708], 0
je 0x47da24
mov dword [esp + 0x1c], edi
jmp 0x47da24
jle 0x47da24
mov eax, dword [esp + 0xb4]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x47d90f
cmp cl, 9
je 0x47d90f
cmp cl, byte [0x49d351]
jne 0x47d946
mov edx, eax
sub edx, ebx
cmp byte [esp + edx + 0x708], 0
jne 0x47d946
mov al, byte [eax + 1]
cmp al, 0x20
je 0x47da24
cmp al, 9
je 0x47da24
mov dword [esp + 0x1c], edi
jmp 0x47da24
cmp al, 0x69
jne 0x47da24
mov edi, dword [esp + 0x10]
cmp byte [edi], 0
mov esi, edi
je 0x47d9a1
mov al, byte [esi]
cmp al, 0x20
je 0x47d96c
cmp al, 9
jne 0x47d99b
movsx eax, byte [esi + 1]
push eax
call 0x4ddc43
add esp, 4
cmp eax, 0x69
jne 0x47d99b
movsx ecx, byte [esi + 2]
push ecx
call 0x4ddc43
add esp, 4
cmp eax, 0x6e
jne 0x47d99b
mov al, byte [esi + 3]
cmp al, 0x20
je 0x47d9a1
cmp al, 9
je 0x47d9a1
inc esi
cmp byte [esi], 0
jne 0x47d962
cmp byte [esi], 0
mov dl, byte [0x49d350]
jne 0x47d9cf
mov edx, dword [esp + 0x871c]
mov ecx, dword [esp + 0x14]
push edx
push 0x492798
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov eax, esi
sub eax, edi
mov ecx, 1
test eax, eax
jle 0x47d9eb
lea esp, [esp]
cmp byte [eax + edi], dl
jne 0x47d9e6
inc ecx
dec eax
test eax, eax
jg 0x47d9e0
mov byte [esi + 1], dl
cmp ecx, 1
jle 0x47da21
cmp ecx, 2
jle 0x47da1b
mov eax, dword [esp + 0x871c]
mov ecx, dword [esp + 0x14]
push eax
push 0x4927b8
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov byte [esi + 2], 0x20
jmp 0x47da24
mov byte [esi + 2], dl
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov byte [esp + 0x3c], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
cmp ecx, eax
je 0x47da46
mov dword [esp + 0x24], ecx
jmp 0x47da6f
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x4cf], al
je 0x47da63
mov edx, dword [esp + 0x38]
movsx ecx, byte [edx + 6]
and ecx, 0x7f
mov dword [esp + 0x24], ecx
jmp 0x47da6f
mov ecx, dword [esp + 0x38]
movsx edx, byte [ecx + 5]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x10]
xor esi, esi
xor ebp, ebp
cmp byte [eax], 0
mov dword [esp + 0x20], esi
je 0x47dc8b
cmp esi, dword [esp + 0x24]
jge 0x47dc8b
cmp esi, 2
jne 0x47daef
mov cl, byte [esp + 0x8720]
sub cl, 0x19
cmp cl, 3
ja 0x47dae4
mov eax, dword [esp + 0x10]
add eax, ebp
push 0
push eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x1c]
push eax
lea ebx, [esp + 0x214]
call fcn.0047e640
mov dword [esp + 0x34], eax
test eax, eax
je 0x47dae4
mov edi, ebx
call fcn.0047e720
mov byte [esp + 0x3c], al
test al, al
jne 0x47dc8b
call fcn.0047e760
mov byte [esp + 0x2c], al
cmp byte [esp + 0x2c], 0
jne 0x47dc8b
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
lea ecx, [esp + esi*4 + 0x58]
add eax, ebp
mov dword [esp + 0xa8], ecx
mov dword [ecx], eax
dec edx
lea ecx, [esp + ebp + 0x708]
mov dword [esp + esi*4 + 0xb0], ecx
cmp esi, edx
je 0x47dc86
mov dl, byte [eax]
cmp dl, byte [0x49d351]
jne 0x47db40
cmp byte [ecx], 0
jne 0x47db40
mov cl, byte [eax + 1]
cmp cl, 0x20
je 0x47db39
cmp cl, 9
jne 0x47db40
mov byte [esp + 0x1b], 1
jmp 0x47db45
mov byte [esp + 0x1b], 0
xor bl, bl
mov dword [esp + 0x1c], 0
test dl, dl
je 0x47dc5a
mov edi, eax
lea eax, [esp + 0x708]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x104], eax
mov cl, byte [edi]
movsx eax, cl
add eax, 0xffffffde
mov edx, 1
cmp eax, 0x3b
ja case.default.0x47db84
movzx eax, byte [eax + 0x41a59c]
jmp dword [eax*4 + 0x41a58c]
cmp cl, byte [0x49d350]
jne 0x47dc7a
mov ecx, dword [esp + 0x104]
cmp byte [edi + ecx], 0
jne 0x47dc7a
test bl, bl
jne 0x47dbcc
cmp dword [esp + 0x1c], 0
jle 0x47dc30
cmp byte [esp + 0x1b], 0
jne 0x47dc7a
cmp byte [esp + 0x8720], 0x2b
jne 0x47dc0f
cmp esi, 2
je 0x47dbeb
cmp esi, 3
jne 0x47dc0f
mov esi, dword [esp + 0x5c]
call fcn.00476b90
cmp eax, 5
ja case.default.0x47dc04
movzx edx, byte [eax + 0x41a5e0]
jmp dword [edx*4 + 0x41a5d8]
mov ecx, dword [esp + 0x38]
add ecx, 7
je 0x47dc30
mov al, byte [ecx]
lea edx, [esi + 1]
test al, al
je 0x47dc30
movzx eax, al
cmp eax, edx
je 0x47dc6f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x47dc21
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x10]
mov esi, dword [ecx]
or eax, 0xffffffff
mov byte [edi + ebp], 0
call fcn.00475c20
mov al, byte [edi + ebp + 1]
inc ebp
cmp al, 0x20
je 0x47dc49
cmp al, 9
je 0x47dc49
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
inc esi
cmp byte [edx + ebp], 0
mov dword [esp + 0x20], esi
jne 0x47da84
jmp 0x47dc8b
cmp byte [ecx], 0
jne 0x47dc7a
jmp 0x47dc30
mov esi, dword [esp + 0x20]
inc edi
inc ebp
cmp byte [edi], 0
je 0x47dc5a
jmp 0x47db6b
inc esi
mov dword [esp + 0x20], esi
mov edx, dword [esp + 0x38]
mov al, byte [edx + 4]
movsx ecx, al
cmp esi, ecx
jge 0x47dceb
cmp al, 1
mov eax, 0x4927f0
jg 0x47dca7
mov eax, 0x49588a
push eax
mov eax, dword [edx]
push ecx
push eax
push 0x4927f4
mov esi, 0x400
lea edi, [esp + 0x318]
call 0x4c7ff0
add esp, 0x10
mov ecx, dword [esp + 0x871c]
push ecx
lea edx, [esp + 0x30c]
push edx
mov ecx, dword [esp + 0x1c]
call 0x48d900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
xor ebp, ebp
xor eax, eax
cmp ecx, ebp
jle 0x47dd01
mov edi, dword [esp + eax*4 + 0x58]
inc eax
cmp byte [edi], 0
je 0x47dd24
cmp eax, ecx
jl 0x47dcf3
mov al, byte [esp + 0x8724]
test al, al
je case.default.0x47dd1d
movzx ecx, al
dec ecx
cmp ecx, 0x13
ja case.default.0x47dd1d
jmp dword [ecx*4 + 0x41a5e8]
push eax
mov eax, dword [edx]
push eax
push 0x49281c
mov esi, 0x400
lea edi, [esp + 0x314]
call 0x4c7ff0
add esp, 0xc
jmp 0x47dcc5
cmp esi, ebp
je 0x47e1dd
cmp byte [esp + 0x3c], 0
jne 0x47e1dd
cmp byte [esp + 0x2c], 0
jne 0x47e1dd
mov dl, byte [esp + 0x8720]
sub dl, 0x13
cmp dl, 0xe
ja 0x47e1dd
cmp byte [esp + 0x8720], 0x18
ja 0x47e138
mov al, byte [esp + 0x8724]
sub al, 6
cmp al, 5
ja 0x47e1dd
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x54]
sub eax, ebp
mov cl, byte [eax + ebp]
lea edi, [eax + ebp]
test cl, cl
je 0x47e1e1
mov dl, byte [0x49d350]
lea esi, [esp + 0x708]
sub esi, ebp
cmp cl, dl
jne 0x47e16d
cmp byte [esi + edi], 0
je 0x47e178
mov cl, byte [edi + 1]
inc edi
inc eax
test cl, cl
jne 0x47e163
jmp 0x47e1e1
lea esi, [eax + ebp]
mov cl, byte [eax + ebp + 1]
inc eax
cmp cl, 0x20
je 0x47e17b
cmp cl, 9
je 0x47e17b
mov ecx, dword [esp + 0x14]
add eax, ebp
push 0
push eax
push ecx
lea ebx, [esp + 0x214]
mov dword [esp + 0x3c], eax
call fcn.0047e640
mov dword [esp + 0x34], eax
test eax, eax
je 0x47e1e1
mov edi, ebx
call fcn.0047e720
mov byte [esp + 0x3c], al
test al, al
jne 0x47e1c8
call fcn.0047e760
mov byte [esp + 0x2c], al
test al, al
je 0x47e1e1
mov edx, dword [esp + 0x20]
mov byte [esi], 0
mov esi, dword [esp + edx*4 + 0x54]
or eax, 0xffffffff
call fcn.00475c20
jmp 0x47e1e1
mov ebp, dword [esp + 0x10]
mov bl, byte [esp + 0x8720]
cmp bl, 0x68
je 0x47e1f2
cmp bl, 0x6a
jne 0x47e206
mov edi, dword [esp + 0x20]
cmp edi, 1
jne 0x47e20a
mov eax, dword [esp + 0x58]
cmp byte [eax], 0
jne 0x47e213
jmp 0x47e20a
mov edi, dword [esp + 0x20]
cmp bl, 0x69
jne 0x47e250
test edi, edi
je 0x47e250
mov esi, dword [esp + edi*4 + 0x54]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47e220
sub eax, edx
cmp byte [esi + eax - 1], 0x7b
jne 0x47e250
mov byte [esi + eax - 1], cl
or eax, 0xffffffff
mov byte [esp + 0x19], 1
call fcn.00475c20
test eax, eax
jne 0x47e250
cmp bl, 0x68
jne 0x47e2f2
xor edi, edi
mov ecx, dword [esp + 0x8720]
lea edx, [esp + 0xb0]
push edx
push edi
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x60]
push eax
push ecx
push edi
call fcn.0047e810
test eax, eax
je 0x47cbc4
cmp byte [esp + 0x19], 0
je 0x47e295
push 0
push 0
push 0
push 0x6e
push edi
call fcn.0047e810
test eax, eax
je 0x47cbc4
cmp byte [esp + 0x3c], 0
jne 0x47e2a7
cmp byte [esp + 0x2c], 0
je 0x47cc91
mov esi, dword [esp + 0x34]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47e2b0
sub eax, edx
push eax
mov edx, esi
sub edx, ebp
lea eax, [esp + edx + 0x70c]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
push esi
lea ecx, [esp + 0x214]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
mov ecx, edi
call fcn.0047c520
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8708
ret 0x1c
mov ecx, dword [esp + 0x871c]
push ecx
push 0x4925e4
jmp 0x47dcd5