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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x8714
call fcn.100a54d0
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x10029913
lea edx, [esp + 0x110]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x100298e0
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x30], eax
test eax, eax
je 0x1002992d
mov edx, dword [esp + 0x30]
lea eax, [edx + 1]
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x20
je 0x10029910
cmp cl, 9
jne 0x1002a0fa
inc eax
jmp 0x10029900
cmp byte [ebp + 0xc], 3
jne 0x100299a4
mov byte [esp + 0x110], 0
mov dword [esp + 0x30], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], eax
mov ebx, eax
mov byte [esp + 0x10], 0
mov cl, byte [0xd5b460]
mov byte [esp + 0x17], 0
cmp byte [ebx], cl
jne 0x1002a15f
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x1002994e
cmp al, 9
je 0x1002994e
mov dword [esp + 0x18], ebx
cmp byte [ebp + 0xc], 0
jne 0x1002a9d0
cmp byte [esp + 0x10], 0
mov esi, dword [ebp + 8]
je 0x1002a873
cmp byte [ebp + 0x10], 0
jne 0x1002a873
lea edi, [esp + 0x110]
call fcn.1002ba00
mov byte [ebp + 0xc], al
test al, al
jne 0x1002a9d0
call fcn.1002ba40
mov byte [ebp + 0x10], al
jmp 0x1002a87d
mov esi, dword [ebp + 8]
push 6
push 0xd51280
push esi
call fcn.10091104
add esp, 0xc
test eax, eax
jne 0x100299d8
mov eax, dword [0xd5b4d8]
mov eax, dword [eax + 0x94]
neg eax
sbb eax, eax
and eax, 0xffffff80
add eax, 0xc1
mov dword [esp + 0x18], eax
jmp 0x10029a2c
mov ecx, dword [0xd5b4d8]
cmp dword [ecx + 0x94], 0
je 0x1002a0d1
push 5
push 0xd51288
push esi
call fcn.10091104
add esp, 0xc
test eax, eax
jne 0x10029a0c
lea ecx, [esi + 5]
mov dword [esp + 0x18], 0x42
jmp 0x10029a2f
push 6
push 0xd50d10
push esi
call fcn.10091104
add esp, 0xc
test eax, eax
jne 0x1002a0d1
mov dword [esp + 0x18], 0x62
lea ecx, [esi + 6]
mov al, byte [ecx]
test al, al
je 0x1002a089
cmp al, 0x20
je 0x10029a45
cmp al, 9
jne 0x1002a0d1
mov edi, ecx
mov al, byte [edi]
cmp al, 0x20
je 0x10029a51
cmp al, 9
jne 0x10029a54
inc edi
jmp 0x10029a47
cmp byte [edi], 0
je 0x1002a089
mov bl, byte [edi + 1]
push 0
mov ecx, edi
mov byte [edi + 1], 0
call fcn.10081b80
add esp, 4
mov byte [edi + 1], bl
test eax, eax
je 0x1002a0d1
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0x20], 0
je 0x10029ad6
mov eax, dword [0xd5b4d8]
mov eax, dword [eax + 0x94]
cmp byte [eax + 0x38], 0
jne 0x10029ad6
mov ecx, dword [esp + 0x18]
cmp ecx, 0x62
je 0x10029aab
cmp ecx, 0x42
setne cl
add cl, 0x41
mov byte [eax + 0x38], cl
mov eax, dword [edx + 0x344]
test eax, eax
je 0x10029b27
mov al, byte [eax]
cmp al, 0xa
jb 0x10029abf
cmp al, 0x21
jbe 0x10029acf
cmp al, 9
je 0x10029acf
cmp al, 0x68
je 0x10029acf
cmp al, 0x6a
je 0x10029acf
cmp al, 0x69
jne 0x10029b27
mov byte [esp + 0x2f], 1
jmp 0x10029b2c
mov eax, dword [0xd5b4d8]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x10029aab
movzx ecx, byte [eax + 0x38]
mov eax, dword [esp + 0x18]
cmp eax, ecx
jne 0x10029aab
cmp eax, 0x41
jne 0x10029b0c
push esi
push 0xd51290
mov ecx, edx
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
cmp eax, 0x42
jne 0x10029aab
push esi
push 0xd512c8
mov ecx, edx
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov byte [esp + 0x2f], 0
cmp byte [edi], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x24], edi
je 0x1002a0ad
mov edi, edi
mov ebx, dword [esp + 0x24]
mov edi, 0xd51300
mov eax, ebx
call fcn.100046f0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x10029b6f
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10029b60
sub eax, edx
add eax, ebx
mov dword [esp + 0x20], eax
mov edx, dword [0xd5b4d8]
mov edi, eax
sub edi, ebx
cmp dword [edx + 0x94], 0
je 0x10029c69
mov eax, edx
mov eax, dword [eax + 0x94]
xor esi, esi
cmp dword [eax + 0x10], esi
jle 0x10029bcf
xor ebx, ebx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + ebx]
mov eax, dword [edx + 0x18]
mov ecx, dword [esp + 0x24]
push 0xffffffffffffffff
push edi
call fcn.1007e7b0
add esp, 8
test eax, eax
je 0x10029ffd
mov eax, dword [0xd5b4d8]
mov eax, dword [eax + 0x94]
inc esi
add ebx, 0x10
cmp esi, dword [eax + 0x10]
jl 0x10029b97
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push 0
push 2
push 0
push edi
push ebx
call fcn.10032300
mov esi, eax
mov eax, dword [esp + 0x18]
test esi, esi
je 0x10029c07
movzx ecx, byte [esi + 0x16]
xor ecx, eax
test ecx, 0xffffffbf
jne 0x1002a019
cmp eax, 0x62
je 0x1002a019
xor esi, esi
cmp eax, 0x41
je 0x10029c61
mov edx, dword [0xd5b4d8]
mov eax, dword [edx + 0x94]
xor ebx, ebx
cmp dword [eax + 0x30], ebx
jle 0x10029c61
nop
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + ebx*4]
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + 0x18]
push edi
push 0xffffffffffffffff
call fcn.1007e7b0
add esp, 8
test eax, eax
je 0x10029c50
mov edx, dword [0xd5b4d8]
mov eax, dword [edx + 0x94]
inc ebx
cmp ebx, dword [eax + 0x30]
jl 0x10029c20
jmp 0x10029c61
mov eax, dword [0xd5b4d8]
mov ecx, dword [eax + 0x94]
mov edx, dword [ecx + 0x20]
mov esi, dword [edx + ebx*4]
test esi, esi
jne 0x1002a019
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
push edi
push esi
call fcn.100322a0
mov ebx, eax
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x10029ff2
mov al, byte [ebx + 0x17]
test al, al
jne 0x10029c98
mov ecx, dword [ebx + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 1
jne 0x1002a071
push 0xffffffffffffffff
push edi
mov eax, 0xd5054c
mov ecx, esi
call fcn.1007e7b0
add esp, 8
test eax, eax
je 0x1002a071
mov eax, dword [esp + 0x18]
cmp eax, 0x41
jne 0x10029cf2
mov ecx, dword [0xd5b4d8]
mov edx, dword [ecx + 0x94]
cmp dword [edx + 0x30], 0x7d0
jge 0x1002a041
mov eax, edx
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x20]
mov dword [eax + edx*4], ebx
mov eax, dword [ecx + 0x94]
inc dword [eax + 0x30]
jmp 0x10029cfc
cmp eax, 0xc1
jne 0x10029cfc
mov byte [ebx + 0x16], al
mov eax, dword [esp + 0x20]
mov cl, byte [eax]
cmp cl, 0x20
je 0x10029d0c
cmp cl, 9
jne 0x10029d0f
inc eax
jmp 0x10029d00
movsx ecx, byte [eax]
mov dword [esp + 0x20], eax
cmp ecx, 0x3d
ja 0x10029d51
movzx ecx, byte [ecx + 0xcca9b8]
jmp dword [ecx*4 + 0xcca9a4]
mov byte [esp + 0x10], 0
mov ebx, dword [esp + 0x20]
xor cl, cl
xor edi, edi
xor edx, edx
mov eax, dword [esp + 0x20]
mov al, byte [edx + eax]
cmp al, 0x2c
jne 0x10029dcd
test cl, cl
jne 0x10029dfe
test edi, edi
jg 0x10029dfe
mov eax, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x20], eax
dec eax
mov edx, esi
call fcn.100139a0
cmp dword [esp + 0x18], 0x62
mov cl, byte [eax + 1]
lea edi, [eax + 1]
mov dword [esp + 0x40], edi
mov byte [esp + 0x3b], cl
mov byte [edi], 0
jne 0x10029f10
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x18]
mov dword [esp + 0x60], eax
mov al, byte [ebx]
cmp al, 0x20
je 0x10029dbe
cmp al, 9
jne 0x10029e04
inc ebx
jmp 0x10029db4
movsx eax, al
cmp eax, 0x7d
ja 0x10029dfe
movzx eax, byte [eax + 0xccaa0c]
jmp dword [eax*4 + 0xcca9f8]
inc edx
jmp 0x10029d60
mov dl, byte [0xd5b462]
mov byte [esp + 0x10], dl
mov ecx, ebx
mov al, byte [ecx]
test al, al
je 0x10029e22
cmp al, dl
je 0x10029e78
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10029e16
push 0
push 0x101
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x28]
push 2
push ebx
call fcn.1002baf0
test eax, eax
je 0x10029ff2
mov ecx, dword [ebx + 0x344]
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x344], eax
mov dword [eax + 0x14], 0
mov eax, dword [ebx + 0x34c]
test eax, eax
je 0x10029ee4
mov edx, dword [ebx + 0x37c]
mov dword [eax + 0x14], edx
jmp 0x10029ef0
cmp byte [ecx], 0
je 0x10029e22
movsx eax, byte [ecx + 1]
lea edi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja 0x10029ebb
movzx edx, byte [eax + 0xccaab0]
jmp dword [edx*4 + 0xccaa8c]
mov eax, edi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10029ec0
sub eax, esi
inc eax
push eax
push edi
push ecx
call fcn.10091210
mov dl, byte [esp + 0x1c]
mov ecx, edi
mov edi, dword [esp + 0x4c]
add esp, 0xc
jmp 0x10029e10
mov eax, dword [ebx + 0x37c]
mov dword [ebx + 0x348], eax
mov edx, dword [ebx + 0x34c]
mov ecx, dword [ebx + 0x37c]
mov dword [ecx + 0x10], edx
mov eax, dword [ebx + 0x37c]
mov dword [ebx + 0x34c], eax
jmp 0x10029fa3
cmp byte [esp + 0x10], 0
je 0x10029f58
lea edx, [esp + 0x4718]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10029f22
push 0
push 1
push 1
push 0xd4f0f0
lea ecx, [esp + 0x4728]
push 0xd4f0f4
push ecx
xor eax, eax
or ecx, 0xffffffff
call fcn.1007ee90
add esp, 0x18
lea esi, [esp + 0x4718]
cmp byte [esp + 0x2f], 0
je 0x10029f87
cmp byte [esp + 0x17], 0
jne 0x10029f87
mov ebx, dword [esp + 0x1c]
push 0
push 0
push 0
push 0x71
push ebx
call fcn.1002baf0
test eax, eax
je 0x10029ff2
mov byte [esp + 0x17], 1
jmp 0x10029f8b
mov ebx, dword [esp + 0x1c]
push 0
push 0
push 0
push 0
push 0
push 0
push esi
mov ecx, ebx
call fcn.100298b0
test eax, eax
je 0x10029ff2
mov dl, byte [esp + 0x3b]
mov eax, dword [esp + 0x20]
mov byte [edi], dl
cmp byte [eax], 0x2c
jne 0x10029fc4
lea ecx, [eax + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x10029fbf
cmp al, 9
jne 0x10029fc2
inc ecx
jmp 0x10029fb5
mov eax, ecx
cmp byte [eax], 0
mov dword [esp + 0x24], eax
jne 0x10029b40
cmp byte [esp + 0x17], 0
je 0x1002a0ad
push 0
push 0
push 0
push 0x72
push ebx
call fcn.1002baf0
test eax, eax
jne 0x1002a0ad
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push eax
push 0xd51308
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
test byte [esi + 0x16], 0x40
mov eax, 0xd5132c
jne 0x1002a029
mov eax, 0xd51344
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x20]
push eax
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x1c]
push esi
push 0xd5139c
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x1c]
push esi
push 0xd51370
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x18]
cmp ecx, 0x42
je 0x1002a0bb
cmp byte [ebx + 0x20], 0
je 0x1002a0bb
mov edx, dword [0xd5b4d8]
mov eax, dword [edx + 0x94]
cmp byte [eax + 0x38], 0
jne 0x1002a0bb
mov byte [eax + 0x38], cl
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
push esi
push 0xd50db4
mov ecx, ebx
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [esp + 0x1c]
push 1
push esi
push eax
lea ebx, [esp + 0x11c]
call fcn.1002b920
mov dword [esp + 0x30], eax
test eax, eax
jne 0x100298f5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ebx, eax
mov al, byte [edx + 1]
mov dword [esp + 0x18], ebx
cmp al, byte [0xd5b460]
je 0x1002a155
test al, al
je 0x1002a155
cmp al, 0x20
je 0x1002a155
cmp al, 9
je 0x1002a155
cmp al, 0x28
jne 0x10029936
lea ecx, [esp + 0x110]
push 0xd50c10
push ecx
call fcn.10090dd3
add esp, 8
test eax, eax
je 0x1002a155
lea edx, [esp + 0x110]
push 0xd50c14
push edx
call fcn.10090dd3
add esp, 8
test eax, eax
jne 0x10029936
mov byte [esp + 0x10], 1
jmp 0x1002993b
cmp byte [ebp + 0xc], 0
jne 0x1002a9d0
cmp byte [ebp + 0x10], 0
jne 0x10029968
cmp byte [esp + 0x10], 0
je 0x1002a550
lea edx, [esp + 0x110]
push 0xd50c10
push edx
call fcn.10090dd3
add esp, 8
test eax, eax
jne 0x1002a550
mov al, byte [ebx]
cmp al, 0x28
je 0x1002a3e0
cmp al, byte [0xd5b461]
jne 0x1002a1c0
mov al, byte [ebx + 1]
cmp al, 0x20
je 0x1002a3e0
cmp al, 9
je 0x1002a3e0
mov al, byte [0xd5b460]
mov byte [esp + 0x49], al
lea edi, [esp + 0x48]
mov eax, ebx
mov byte [esp + 0x48], 0x20
mov dword [esp + 0x4a], 0x3e3c0928
mov dword [esp + 0x4e], 0x2d2b3d3a
mov dword [esp + 0x52], 0x7e212f2a
mov dword [esp + 0x56], 0x5b5e7c26
mov word [esp + 0x5a], 0x3f2e
mov byte [esp + 0x5c], 0
call fcn.100046f0
test eax, eax
je 0x1002a223
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x20
je 0x1002a21c
cmp cl, 9
jne 0x1002a21f
inc eax
jmp 0x1002a210
mov esi, eax
jmp 0x1002a234
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002a228
sub eax, edx
lea esi, [eax + ebx]
push 3
push 0xd4f6e8
push ebx
call fcn.10091104
add esp, 0xc
test eax, eax
jne 0x1002a262
movsx eax, byte [ebx + 3]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.10091b1e
add esp, 8
test eax, eax
je 0x1002a262
mov bl, 1
jmp 0x1002a264
xor bl, bl
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja 0x1002a3e0
movzx edx, byte [eax + 0xccaaec]
jmp dword [edx*4 + 0xccaac8]
mov byte [ebp + 0xc], 0x12
jmp 0x1002a434
mov ebx, dword [esp + 0x18]
mov eax, ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002a440
sub eax, edx
cmp byte [eax + ebx - 1], 0x7b
lea eax, [eax + ebx - 1]
jne 0x1002a9d4
mov byte [eax], cl
sub eax, ebx
mov esi, ebx
call fcn.1001e290
mov byte [esp + 0x17], 1
jmp 0x1002a9d4
mov cl, byte [ebx]
mov al, byte [ebx + 1]
movsx edx, cl
lea esi, [ebx + 1]
add edx, 0xffffffda
mov dword [esp + 0x34], esi
cmp edx, 0x56
ja 0x10029968
movzx edx, byte [edx + 0xccab98]
jmp dword [edx*4 + 0xccab70]
cmp byte [ebp + 0xc], 0
jne 0x1002a9d0
mov al, byte [ebp + 0x10]
test al, al
jne 0x1002a9ea
lea edx, [esp + 0x110]
push 0xd51404
push edx
call fcn.10090dd3
mov edi, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x1002a8b7
cmp byte [edi], al
jne 0x1002a8b7
mov byte [ebp + 0xc], 0x68
mov byte [esp + 0x17], 1
jmp 0x1002a9d0
lea eax, [esp + 0x110]
push 0xd5140c
push eax
call fcn.10090dd3
add esp, 8
test eax, eax
jne 0x1002a8e2
cmp byte [edi], al
jne 0x1002a8e2
mov byte [ebp + 0xc], 0x6e
mov byte [esp + 0x17], 1
jmp 0x1002a9d0
lea ecx, [esp + 0x110]
push 0xd51414
push ecx
call fcn.10090dd3
add esp, 8
test eax, eax
jne 0x1002a90d
cmp byte [edi], al
jne 0x1002a90d
mov byte [ebp + 0xc], 0x6f
mov byte [esp + 0x17], 1
jmp 0x1002a9d0
movsx eax, byte [edi]
push eax
push 0xd513e8
call fcn.10091b1e
add esp, 8
test eax, eax
je 0x1002a967
mov al, byte [edi]
cmp al, 0x2b
je 0x1002a930
cmp al, 0x2d
jne 0x1002a9a6
cmp byte [edi + 1], al
jne 0x1002a9a6
cmp byte [edi + 2], 0
je 0x1002a945
mov byte [ebp + 0xc], 3
jmp 0x1002a95b
mov dl, byte [0xd5b460]
cmp al, 0x2b
setne al
add al, 4
mov byte [ebp + 0xc], al
mov byte [edi], dl
mov byte [edi + 1], 0x31
cmp byte [ebp + 0xc], 0
mov dword [esp + 0x18], esi
jne 0x1002a9d0
mov edi, esi
mov al, byte [edi]
cmp al, 0x28
je 0x1002a9c8
cmp al, 0x5b
je 0x1002a9c8
cmp byte [esi], 0x28
je 0x1002a9c8
push 0xd50c60
push esi
call fcn.10093c65
add esp, 8
test eax, eax
mov eax, 0xd5141c
jne 0x1002a992
mov eax, 0xd50db4
mov ecx, dword [esp + 0x1c]
push esi
push eax
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
cmp al, 0x3f
je 0x1002a9c8
push 0x3f
push edi
call fcn.10091b1e
add esp, 8
test eax, eax
je 0x1002a967
push 0x3a
push eax
call fcn.10091b1e
add esp, 8
test eax, eax
je 0x1002a967
mov dword [esp + 0x18], esi
mov byte [ebp + 0xc], 3
mov ebx, dword [esp + 0x18]
movzx eax, byte [ebp + 0xc]
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*2 + 0xd5b4f0]
jmp 0x1002aa01
mov ebx, dword [esp + 0x18]
movzx eax, al
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*2 + 0xd5c118]
push 0x4001
lea eax, [esp + 0x714]
push 0
push eax
mov dword [esp + 0x48], edx
call fcn.1009a1c0
mov edx, dword [ebp + 0x1c]
add esp, 0xc
test edx, edx
je 0x1002aab0
mov ecx, dword [ebp + 0x20]
mov eax, ebx
sub eax, dword [esp + 0x30]
sub ecx, eax
test ecx, ecx
jle 0x1002aa4a
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x718]
push ecx
call fcn.1009aea0
add esp, 0xc
mov al, byte [ebp + 0xc]
xor esi, esi
mov dword [esp + 0x20], esi
cmp al, 0x22
jne 0x1002ac71
xor eax, eax
mov dword [esp + 0x28], eax
cmp byte [ebx], al
je 0x1002ad37
lea esp, [esp]
cmp eax, 0x14
jge 0x1002ab68
mov al, byte [esi + ebx]
lea ecx, [esi + ebx]
test al, al
je 0x1002ab5a
lea edi, [esp + 0x710]
sub edi, ebx
cmp al, byte [0xd5b460]
jne 0x1002aaa2
cmp byte [edi + ecx], 0
je 0x1002ab46
mov al, byte [ecx + 1]
inc ecx
inc esi
test al, al
jne 0x1002aa90
jmp 0x1002ab5a
xor edi, edi
cmp byte [edi + ebx], 0
mov al, byte [0xd5b462]
je 0x1002aa4a
lea ecx, [ecx]
cmp byte [edi + ebx], al
je 0x1002aacc
inc edi
cmp byte [edi + ebx], 0
jne 0x1002aac0
cmp byte [edi + ebx], 0
je 0x1002aa4a
movsx eax, byte [edi + ebx + 1]
lea ecx, [edi + ebx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja 0x1002ab16
movzx edx, byte [eax + 0xccaca4]
jmp dword [edx*4 + 0xccac84]
mov eax, ecx
lea esi, [eax + 1]
jmp 0x1002ab20
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1002ab20
sub eax, esi
inc eax
push eax
push ecx
lea eax, [edi + ebx]
push eax
call fcn.1009aea0
add esp, 0xc
mov byte [esp + edi + 0x710], 1
inc edi
jmp 0x1002aab2
mov eax, dword [esp + 0x28]
lea ecx, [esi + ebx]
mov dword [esp + eax*4 + 0xb8], ecx
inc eax
mov dword [esp + 0x28], eax
inc esi
cmp byte [esi + ebx], 0
mov eax, dword [esp + 0x28]
jne 0x1002aa70
test eax, eax
je 0x1002ad37
cmp eax, 1
jg 0x1002ab82
mov dword [esp + 0x20], 1
jmp 0x1002ad37
mov esi, dword [esp + 0xb8]
push 0
push 0
push 1
push 0
mov eax, ebx
mov byte [esi], 0
call fcn.1007e5b0
add esp, 0x10
test eax, eax
jne 0x1002abaa
mov dword [esp + 0x20], 1
cmp dword [esp + 0x20], 0
mov dl, byte [0xd5b460]
mov byte [esi], dl
jne 0x1002ad37
mov eax, dword [esp + 0x28]
mov edi, 3
cmp eax, edi
jne 0x1002ac22
mov esi, dword [esp + 0xc0]
push 0
push 1
push 1
push 0
lea eax, [esi + 1]
call fcn.1007e5b0
add esp, 0x10
test eax, eax
jne 0x1002ad37
lea eax, [esi + 1]
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x1002abfc
cmp cl, 9
jne 0x1002abff
inc eax
jmp 0x1002abf0
mov cl, byte [0xd5b461]
cmp byte [eax], cl
jne 0x1002ac19
sub eax, ebx
cmp byte [esp + eax + 0x710], 0
je 0x1002ad37
mov dword [esp + 0x20], edi
jmp 0x1002ad37
jle 0x1002ad37
mov eax, dword [esp + 0xbc]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x1002ac2f
cmp cl, 9
je 0x1002ac2f
mov dl, byte [0xd5b461]
cmp cl, dl
jne 0x1002ac68
mov ecx, eax
sub ecx, ebx
cmp byte [esp + ecx + 0x710], 0
jne 0x1002ac68
mov al, byte [eax + 1]
cmp al, 0x20
je 0x1002ad37
cmp al, 9
je 0x1002ad37
mov dword [esp + 0x20], edi
jmp 0x1002ad37
cmp al, 0x69
jne 0x1002ad37
cmp byte [ebx], 0
mov esi, ebx
je 0x1002acbf
mov al, byte [esi]
cmp al, 0x20
je 0x1002ac8a
cmp al, 9
jne 0x1002acb9
movsx edx, byte [esi + 1]
push edx
call fcn.10094ad1
add esp, 4
cmp eax, 0x69
jne 0x1002acb9
movsx eax, byte [esi + 2]
push eax
call fcn.10094ad1
add esp, 4
cmp eax, 0x6e
jne 0x1002acb9
mov al, byte [esi + 3]
cmp al, 0x20
je 0x1002acbf
cmp al, 9
je 0x1002acbf
inc esi
cmp byte [esi], 0
jne 0x1002ac80
cmp byte [esi], 0
jne 0x1002acdf
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [esp + 0x20]
push 0xd5142c
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, esi
sub eax, ebx
mov ecx, 1
test eax, eax
jle 0x1002ad01
lea esp, [esp]
mov dl, byte [0xd5b460]
cmp byte [eax + ebx], dl
jne 0x1002acfc
inc ecx
dec eax
test eax, eax
jg 0x1002acf0
mov al, byte [0xd5b460]
mov byte [esi + 1], al
cmp ecx, 1
jle 0x1002ad34
cmp ecx, 2
jle 0x1002ad2e
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push eax
push 0xd5144c
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov byte [esi + 2], 0x20
jmp 0x1002ad37
mov byte [esi + 2], al
mov eax, dword [esp + 0x20]
xor esi, esi
mov byte [esp + 0x30], 0
mov byte [esp + 0x28], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], esi
cmp eax, esi
je 0x1002ad59
mov dword [esp + 0x44], eax
jmp 0x1002ad83
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x5ef], 0
je 0x1002ad77
mov edx, dword [esp + 0x3c]
movsx eax, byte [edx + 6]
and eax, 0x7f
mov dword [esp + 0x44], eax
jmp 0x1002ad83
mov eax, dword [esp + 0x3c]
movsx ecx, byte [eax + 5]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x44]
dec edx
cmp byte [ebx], 0
mov dword [esp + 0x10c], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
je 0x1002af6b
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x24], eax
jge 0x1002af6b
mov ecx, dword [esp + 0x24]
cmp ecx, 2
jne 0x1002ae14
mov cl, byte [ebp + 0xc]
sub cl, 0x19
cmp cl, 3
ja 0x1002ae05
mov edx, dword [esp + 0x18]
lea eax, [esi + edx]
push 0
push eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
push eax
lea ebx, [esp + 0x21c]
call fcn.1002b920
mov dword [esp + 0x40], eax
test eax, eax
je 0x1002ae05
mov edi, ebx
call fcn.1002ba00
mov byte [esp + 0x30], al
test al, al
jne 0x1002af6b
call fcn.1002ba40
mov byte [esp + 0x28], al
cmp byte [esp + 0x28], 0
jne 0x1002af6b
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
lea eax, [esp + ecx*4 + 0x68]
lea edi, [esi + ebx]
mov dword [esp + 0x60], eax
mov dword [eax], edi
lea eax, [esp + esi + 0x710]
mov dword [esp + ecx*4 + 0xb8], eax
cmp ecx, dword [esp + 0x10c]
je 0x1002af66
mov dl, byte [0xd5b461]
cmp byte [edi], dl
jne 0x1002ae5a
cmp byte [eax], 0
jne 0x1002ae5a
mov al, byte [edi + 1]
cmp al, 0x20
je 0x1002aebc
cmp al, 9
je 0x1002aebc
cmp byte [ebp + 0xc], 0x2b
jne 0x1002ae86
cmp ecx, 2
je 0x1002ae6a
cmp ecx, 3
jne 0x1002ae86
mov esi, dword [esp + 0x6c]
call fcn.1001f430
cmp eax, 5
ja 0x1002aeb8
movzx eax, byte [eax + 0xccacc4]
jmp dword [eax*4 + 0xccacbc]
mov ecx, dword [esp + 0x3c]
add ecx, 7
je 0x1002aee8
mov edx, dword [esp + 0x24]
mov al, byte [ecx]
inc edx
test al, al
je 0x1002aee8
lea ebx, [ebx]
movzx eax, al
cmp eax, edx
je 0x1002aeb1
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1002aea0
jmp 0x1002aee8
cmp byte [ecx], 0
je 0x1002aee8
jmp 0x1002aebc
mov esi, dword [esp + 0x20]
mov bl, byte [0xd5b460]
lea ecx, [esp + 0x710]
push ecx
mov ecx, dword [esp + 0x1c]
mov eax, esi
call fcn.10080820
mov ebx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x20], eax
mov esi, eax
jmp 0x1002af1b
mov cl, byte [edi]
test cl, cl
je 0x1002af1b
lea edx, [esp + 0x710]
mov eax, edi
sub edx, ebx
lea esp, [esp]
cmp cl, byte [0xd5b460]
jne 0x1002af0e
cmp byte [eax + edx], 0
je 0x1002af17
mov cl, byte [eax + 1]
inc eax
inc esi
test cl, cl
jne 0x1002af00
mov dword [esp + 0x20], esi
cmp byte [esi + ebx], 0
je 0x1002af51
mov edx, dword [esp + 0x60]
mov byte [esi + ebx], 0
mov esi, dword [edx]
or eax, 0xffffffff
call fcn.1001e290
mov ecx, 1
add dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov al, byte [eax + ebx]
cmp al, 0x20
je 0x1002af38
cmp al, 9
je 0x1002af38
mov esi, dword [esp + 0x20]
jmp 0x1002af56
mov ecx, 1
add dword [esp + 0x24], ecx
cmp byte [esi + ebx], 0
jne 0x1002ada0
jmp 0x1002af6b
inc ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x3c]
mov al, byte [edx + 4]
mov esi, dword [esp + 0x24]
movsx ecx, al
cmp esi, ecx
jge 0x1002afc7
cmp al, 1
mov eax, 0xd51484
jg 0x1002af8b
mov eax, 0xd4bc99
push eax
push ecx
mov ecx, dword [edx]
push ecx
push 0xd51488
mov esi, 0x400
lea edi, [esp + 0x320]
call fcn.1007e720
add esp, 0x10
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x314]
push eax
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
xor edi, edi
xor eax, eax
cmp ecx, edi
jle 0x1002afde
nop
mov ebx, dword [esp + eax*4 + 0x68]
inc eax
cmp byte [ebx], 0
je 0x1002affd
cmp eax, ecx
jl 0x1002afd0
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x1002b38a
movzx eax, cl
dec eax
cmp eax, 0x13
ja 0x1002b38a
jmp dword [eax*4 + 0xccaccc]
mov ecx, dword [edx]
push eax
push ecx
push 0xd514b0
mov esi, 0x400
lea edi, [esp + 0x31c]
call fcn.1007e720
add esp, 0xc
jmp 0x1002afa9
cmp esi, edi
je 0x1002b46f
cmp byte [esp + 0x30], 0
jne 0x1002b46f
cmp byte [esp + 0x28], 0
jne 0x1002b46f
mov al, byte [ebp + 0xc]
lea edx, [eax - 0x13]
cmp dl, 0xe
ja 0x1002b46f
cmp al, 0x18
ja 0x1002b3c7
sub cl, 6
cmp cl, 5
ja 0x1002b46f
mov eax, dword [esp + esi*4 + 0x64]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
sub eax, ecx
lea edi, [eax + ecx]
mov cl, byte [edi]
test cl, cl
je 0x1002b46f
mov bl, byte [0xd5b460]
lea edx, [esp + 0x710]
sub edx, dword [esp + 0x18]
cmp cl, bl
jne 0x1002b3fd
cmp byte [edi + edx], 0
je 0x1002b408
mov cl, byte [edi + 1]
inc edi
inc eax
test cl, cl
jne 0x1002b3f3
jmp 0x1002b46f
mov edx, dword [esp + 0x18]
lea esi, [eax + edx]
mov cl, byte [eax + edx + 1]
inc eax
cmp cl, 0x20
je 0x1002b40f
cmp cl, 9
je 0x1002b40f
add eax, edx
push 0
push eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
push eax
lea ebx, [esp + 0x21c]
call fcn.1002b920
mov dword [esp + 0x40], eax
test eax, eax
je 0x1002b46b
mov edi, ebx
call fcn.1002ba00
mov byte [esp + 0x30], al
test al, al
jne 0x1002b45c
call fcn.1002ba40
mov byte [esp + 0x28], al
test al, al
je 0x1002b46b
mov byte [esi], 0
mov esi, dword [esp + 0x60]
or eax, 0xffffffff
call fcn.1001e290
mov esi, dword [esp + 0x24]
mov bl, byte [ebp + 0xc]
cmp bl, 0x68
je 0x1002b47c
cmp bl, 0x6a
jne 0x1002b48a
cmp esi, 1
jne 0x1002b48a
mov ecx, dword [esp + 0x68]
cmp byte [ecx], 0
jne 0x1002b4a0
cmp bl, 0x69
je 0x1002b498
cmp bl, 0x6f
jne 0x1002b502
mov esi, dword [esp + 0x24]
test esi, esi
je 0x1002b502
mov esi, dword [esp + 0x24]
mov esi, dword [esp + esi*4 + 0x64]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b4b0
sub eax, edx
cmp byte [esi + eax - 1], 0x7b
jne 0x1002b502
mov byte [esi + eax - 1], cl
or eax, 0xffffffff
mov byte [esp + 0x17], 1
call fcn.1001e290
test eax, eax
jne 0x1002b502
cmp bl, 0x68
je 0x1002b4fa
cmp bl, 0x6f
je 0x1002b4fa
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
push edx
push 0xd50f54
call fcn.1003f250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0xb8]
push eax
mov eax, dword [ebp + 0xc]
push ecx
lea edx, [esp + 0x70]
push edx
push eax
push edi
call fcn.1002baf0
test eax, eax
je 0x10029ff2
cmp byte [esp + 0x17], 0
je 0x1002b547
push 0
push 0
push 0
push 0x71
push edi
call fcn.1002baf0
test eax, eax
je 0x10029ff2
cmp byte [esp + 0x30], 0
jne 0x1002b559
cmp byte [esp + 0x28], 0
je 0x1002a0ad
mov ecx, dword [esp + 0x40]
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1002b562
mov edx, ecx
sub edx, dword [esp + 0x18]
sub eax, esi
push eax
lea eax, [esp + edx + 0x714]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
push ecx
lea ecx, [esp + 0x21c]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
mov ecx, edi
call fcn.100298b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c