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

Disassembly:
sub esp, 0xe8
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x10c]
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x413704
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
mov ecx, dword [esp + 0x11c]
add dword [edi], 1
cmp ecx, dword [edi + 8]
jae 0x413717
test byte [esp + 0x118], 2
mov edx, dword [esp + 0x110]
mov dword [esp + 0x28], edx
je 0x4117bc
mov eax, dword [esp + 0x114]
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x114], ecx
movzx edx, byte [ebx]
xor ecx, ecx
cmp dword [edi + 0x44], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
je 0x4117eb
cmp ebp, dword [edi + 0x58]
jb 0x4117eb
mov esi, dword [esp + 0x104]
cmp ebp, esi
jbe 0x4117f2
mov dword [edi + 0x48], 1
jmp 0x4117f2
mov esi, dword [esp + 0x104]
cmp edx, 0x6d
ja case.0x411802.14
movzx eax, byte [edx + 0x414368]
jmp dword [eax*4 + 0x414258]
mov cl, byte [ebx + 3]
cmp cl, 0x64
lea eax, [ebx + 3]
jne 0x41183c
mov eax, dword [edi + 0x78]
xor ecx, ecx
test eax, eax
mov ch, byte [ebx + 4]
mov cl, byte [ebx + 5]
je 0x41185d
cmp ecx, 0xffff
je 0x411830
cmp ecx, dword [eax + 4]
jne 0x41185d
mov ecx, 1
mov eax, 3
jmp 0x411867
cmp cl, 0x63
jne 0x411882
xor eax, eax
mov ah, byte [ebx + 4]
mov al, byte [ebx + 5]
add eax, eax
cmp eax, dword [esp + 0x108]
jge 0x41185d
mov ecx, dword [edi + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x411830
xor ecx, ecx
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
test ecx, ecx
jne 0x413495
cmp byte [ebx], 0x53
je 0x413495
add ebx, 3
jmp 0x4117bc
cmp cl, 0x65
jne 0x411893
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
jmp 0x411871
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x110]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x10c]
push 1
push 0
push edx
push edi
push ecx
push esi
push eax
push ebp
call fcn.00411750
add esp, 0x24
cmp eax, 1
je 0x41346f
test eax, eax
je 0x4118d6
cmp eax, 0xfffffc1c
jne 0x41424a
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
mov edx, dword [esp + 0x14]
jmp 0x411871
mov ebx, dword [edi + 0x78]
cmp ebx, ecx
je 0x4139da
cmp dword [ebx + 4], ecx
jne 0x4139da
mov eax, dword [ebx]
mov dword [edi + 0x78], eax
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
mov eax, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.0041e460
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x34]
mov ebx, dword [ebx + 8]
add esp, 0xc
mov dword [esp + 0x104], ecx
mov dword [esp + 0x110], edx
jmp 0x4117bc
movzx eax, byte [ebx + 1]
mov dword [esp + 0x110], eax
add ebx, 2
jmp 0x4117bc
mov esi, dword [esp + 0x11c]
add esi, 1
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
push esi
push 0
push 0
push ecx
push edi
push edx
push eax
lea ecx, [ebx + 3]
push ecx
push ebp
call fcn.00411750
add esp, 0x24
cmp eax, 1
je 0x41199f
test eax, eax
je 0x411990
cmp eax, 0xfffffc1c
jne 0x41424a
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x53
je 0x411951
cmp byte [ebx], 0x54
je case.0x414117.14
test byte [esp + 0x118], 1
jne 0x4139f3
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4119b6
mov ecx, dword [edi + 0x64]
add ebx, 3
mov dword [esp + 0x108], ecx
jmp 0x4117bc
mov esi, dword [esp + 0x11c]
add esi, 1
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
push esi
push 0
push 0
push edx
push edi
push eax
push ecx
lea edx, [ebx + 3]
push edx
push ebp
call fcn.00411750
add esp, 0x24
cmp eax, 1
je case.0x414117.14
test eax, eax
je 0x411a24
cmp eax, 0xfffffc1c
jne 0x41424a
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x4119e1
test byte [esp + 0x118], 1
jne 0x4139f3
add ebx, 3
jmp 0x4117bc
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
sub ebp, ecx
cmp ebp, dword [edi + 0x54]
jb case.0x414117.14
add ebx, 3
jmp 0x4117bc
cmp dword [sym.td.exe_pcre_callout], ecx
je 0x411af7
movzx edx, byte [ebx + 1]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0x54]
sub ecx, eax
sub esi, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], edx
mov edx, ebp
sub edx, eax
xor eax, eax
mov ah, byte [ebx + 2]
mov dword [esp + 0x60], ecx
xor ecx, ecx
mov ch, byte [ebx + 4]
mov dword [esp + 0x68], edx
mov dword [esp + 0x50], 1
mov dword [esp + 0x64], esi
mov al, byte [ebx + 3]
mov cl, byte [ebx + 5]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x108]
cdq
sub eax, edx
mov edx, dword [edi + 0x68]
sar eax, 1
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x7c]
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
call dword [sym.td.exe_pcre_callout]
add esp, 4
test eax, eax
jg case.0x414117.14
jl 0x41424a
add ebx, 6
jmp 0x4117bc
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebp
add esi, 1
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push esi
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
lea eax, [ebx + 3]
push eax
push ebp
call fcn.00411750
add esp, 0x24
cmp eax, 1
je 0x411b65
test eax, eax
je 0x411b56
cmp eax, 0xfffffc1c
jne 0x41424a
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x53
je 0x411b11
mov al, byte [ebx]
cmp al, 0x5c
je 0x411b73
cmp al, 0x53
jne case.0x414117.14
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x53
je 0x411b73
cmp byte [ebx], 0x54
mov ecx, dword [edi + 0x64]
mov ebp, dword [edi + 0x60]
mov dword [esp + 0x108], ecx
je 0x411b9e
cmp ebp, dword [esp + 0x24]
jne 0x4135b1
add ebx, 3
jmp 0x4117bc
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je case.0x411802.83
jmp 0x4117bc
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x10c]
push 0
push edx
push eax
push edi
push ecx
push esi
add ebx, 1
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
xor edx, edx
mov dh, byte [ebx + 1]
mov dl, byte [ebx + 2]
add ebx, edx
cmp byte [ebx], 0x53
je 0x411bf6
add ebx, 3
jmp 0x4117bc
add ebx, 1
mov eax, ebx
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x53
je 0x411c12
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x114]
add edx, 1
push edx
mov edx, dword [esp + 0x114]
push 0
push ecx
mov ecx, dword [esp + 0x114]
push edx
push edi
push ecx
push esi
add eax, 3
push eax
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
jmp 0x4117bc
xor edx, edx
mov dh, byte [ebx + 1]
mov esi, ebx
mov dl, byte [ebx + 2]
sub esi, edx
mov al, byte [esi]
cmp al, 0x60
mov dword [esp + 0x1c], esi
jb 0x411c8d
mov ecx, dword [esp + 0x114]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x114], ecx
jmp 0x411c8f
xor edx, edx
cmp al, 0x57
je 0x413be2
cmp al, 0x58
je 0x413be2
cmp al, 0x59
je 0x413be2
cmp al, 0x5a
je 0x413be2
cmp al, 0x5c
je 0x413be2
cmp al, 0x5e
je 0x411cc3
cmp al, 0x61
jne 0x411d60
xor ecx, ecx
mov ch, byte [esi + 3]
mov cl, byte [esi + 4]
lea eax, [ecx + ecx]
cmp eax, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
mov dword [edi + 0x68], ecx
jl 0x411ce3
mov dword [edi + 0x2c], 1
jmp 0x411d16
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub esi, dword [esp + 0x20]
mov esi, dword [ecx + esi*4]
mov dword [ecx + eax*4], esi
mov esi, dword [edi + 0xc]
mov ecx, ebp
sub ecx, dword [edi + 0x54]
cmp dword [esp + 0x108], eax
mov dword [esi + eax*4 + 4], ecx
mov ecx, dword [esp + 0x20]
jg 0x411d16
add eax, 2
mov dword [esp + 0x108], eax
mov esi, dword [edi + 0x78]
test esi, esi
je 0x411d5c
cmp dword [esi + 4], ecx
jne 0x411d5c
mov edx, dword [esi]
mov dword [edi + 0x78], edx
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
add ecx, ecx
add ecx, ecx
push ecx
mov dword [esp + 0x108], eax
mov eax, dword [edi + 0xc]
push edx
push eax
call fcn.00421440
mov ecx, dword [esp + 0x34]
mov ebx, dword [esi + 8]
add esp, 0xc
mov dword [esp + 0x110], ecx
jmp 0x4117bc
mov esi, dword [esp + 0x1c]
cmp byte [ebx], 0x54
mov eax, dword [esp + 0x28]
mov dword [esp + 0x110], eax
je 0x411d78
cmp ebp, edx
jne 0x413645
add ebx, 3
jmp 0x4117bc
cmp dword [edi + 0x30], ecx
je 0x411d8e
cmp ebp, dword [edi + 0x54]
je case.0x414117.14
test byte [esp + 0x110], 2
je case.0x411802.1
mov esi, dword [edi + 0x54]
cmp ebp, esi
je 0x411e05
cmp ebp, dword [edi + 0x58]
je case.0x414117.14
mov eax, dword [edi + 0x18]
test eax, eax
je 0x411dd7
cmp ebp, esi
jbe case.0x414117.14
push 0
lea edx, [edi + 0x1c]
push eax
mov ecx, ebp
call fcn.0041a390
add esp, 8
test eax, eax
je case.0x414117.14
add ebx, 1
jmp 0x4117bc
mov eax, dword [edi + 0x1c]
lea ecx, [eax + esi]
cmp ebp, ecx
jb case.0x414117.14
mov esi, ebp
sub esi, eax
mov dl, byte [esi]
cmp dl, byte [edi + 0x20]
jne case.0x414117.14
cmp eax, 1
je 0x411e05
mov al, byte [esi + 1]
cmp al, byte [edi + 0x21]
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x54]
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
mov ecx, dword [edi + 0x6c]
add ecx, dword [edi + 0x54]
cmp ebp, ecx
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
mov dword [esp + 0x104], ebp
add ebx, 1
jmp 0x4117bc
test byte [esp + 0x110], 2
je 0x411ec0
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x411eaf
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x411e89
mov edi, dword [esp + 0x10c]
push ecx
add edi, 0x1c
xor edx, edx
mov ecx, ebp
call fcn.0041a2d0
add esp, 4
test eax, eax
je case.0x414117.14
mov edi, dword [esp + 0x10c]
add ebx, 1
jmp 0x4117bc
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp ebp, eax
ja case.0x414117.14
mov dl, byte [ebp]
cmp dl, byte [edi + 0x20]
jne case.0x414117.14
cmp ecx, 1
je 0x411eb8
mov al, byte [ebp + 1]
cmp al, byte [edi + 0x21]
jmp 0x411eb2
cmp dword [edi + 0x34], ecx
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp dword [edi + 0x34], ecx
jne case.0x414117.14
cmp dword [edi + 0x3c], ecx
jne case.0x411802.23
mov eax, dword [edi + 0x58]
cmp ebp, eax
je 0x411f4c
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x411f12
cmp ebp, eax
jae case.0x414117.14
mov esi, dword [esp + 0x10c]
add esi, 0x1c
push ecx
xor edx, edx
mov edi, esi
mov ecx, ebp
call fcn.0041a2d0
add esp, 4
test eax, eax
je case.0x414117.14
mov edi, dword [esp + 0x10c]
jmp 0x411f3f
mov ecx, dword [edi + 0x1c]
lea esi, [edi + 0x1c]
sub eax, ecx
cmp ebp, eax
ja case.0x414117.14
mov dl, byte [ebp]
cmp dl, byte [edi + 0x20]
jne case.0x414117.14
cmp ecx, 1
je 0x411f3f
mov al, byte [ebp + 1]
cmp al, byte [edi + 0x21]
jne case.0x414117.14
mov ecx, dword [edi + 0x58]
sub ecx, dword [esi]
cmp ebp, ecx
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jb case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x54]
je 0x411f7e
movzx edx, byte [ebp - 1]
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x411f7e
mov esi, 1
jmp 0x411f80
xor esi, esi
cmp ebp, dword [edi + 0x58]
jae 0x411f99
movzx edx, byte [ebp]
mov eax, dword [edi + 0x28]
test byte [edx + eax], 0x10
je 0x411f99
mov eax, 1
jmp 0x411f9b
xor eax, eax
mov dl, byte [ebx]
add ebx, 1
cmp dl, 5
jne 0x411fae
xor edx, edx
cmp eax, esi
sete dl
jmp 0x411fb5
xor edx, edx
cmp eax, esi
setne dl
mov eax, edx
cmp eax, ecx
je 0x4117bc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
test byte [esp + 0x110], 4
jne 0x412035
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x41200c
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x412035
mov edi, dword [esp + 0x10c]
push ecx
add edi, 0x1c
xor edx, edx
mov ecx, ebp
call fcn.0041a2d0
add esp, 4
test eax, eax
jne case.0x414117.14
mov edi, dword [esp + 0x10c]
jmp 0x412035
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x58]
sub ecx, eax
cmp ebp, ecx
ja 0x412035
mov dl, byte [ebp]
cmp dl, byte [edi + 0x20]
jne 0x412035
cmp eax, 1
je case.0x414117.14
mov al, byte [ebp + 1]
cmp al, byte [edi + 0x21]
je case.0x414117.14
mov ecx, ebp
add ebp, 1
cmp ecx, dword [edi + 0x58]
jae case.0x414117.14
add ebx, 1
jmp 0x4117bc
mov edx, ebp
add ebp, 1
cmp edx, dword [edi + 0x58]
jae case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov ecx, dword [edi + 0x28]
add ebp, 1
test byte [eax + ecx], 4
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov edx, dword [edi + 0x28]
add ebp, 1
test byte [eax + edx], 4
je case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov ecx, dword [edi + 0x28]
add ebp, 1
test byte [eax + ecx], 1
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov edx, dword [edi + 0x28]
add ebp, 1
test byte [eax + edx], 1
je case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov ecx, dword [edi + 0x28]
add ebp, 1
test byte [eax + ecx], 0x10
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov edx, dword [edi + 0x28]
add ebp, 1
test byte [eax + edx], 0x10
je case.0x414117.14
add ebx, 1
jmp 0x4117bc
mov ecx, dword [edi + 0x58]
cmp ebp, ecx
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0xd
ja 0x41217d
je 0x412168
cmp eax, 0xa
je 0x4121a4
jbe case.0x414117.14
cmp eax, 0xc
jmp 0x412194
cmp ebp, ecx
jae 0x4121a4
cmp byte [ebp], 0xa
jne 0x4121a4
add ebp, 1
add ebx, 1
jmp 0x4117bc
cmp eax, 0x85
je 0x41219a
cmp eax, 0x2027
jbe case.0x414117.14
cmp eax, 0x2029
ja case.0x414117.14
cmp dword [edi + 0x4c], 0
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0x180e
ja 0x4121eb
je case.0x414117.14
cmp eax, 0xa0
ja 0x4121e4
je case.0x414117.14
cmp eax, 9
je case.0x414117.14
cmp eax, 0x20
jmp 0x412216
cmp eax, 0x1680
jmp 0x412216
cmp eax, 0x205f
ja 0x412211
je case.0x414117.14
cmp eax, 0x2000
jb 0x41221c
cmp eax, 0x200a
jbe case.0x414117.14
cmp eax, 0x202f
jmp 0x412216
cmp eax, 0x3000
je case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0x180e
ja 0x412257
je 0x412284
cmp eax, 0xa0
ja 0x412250
je 0x412284
cmp eax, 9
je 0x412284
cmp eax, 0x20
jmp 0x41227e
cmp eax, 0x1680
jmp 0x41227e
cmp eax, 0x205f
ja 0x412279
je 0x412284
cmp eax, 0x2000
jb case.0x414117.14
cmp eax, 0x200a
jbe 0x412284
cmp eax, 0x202f
jmp 0x41227e
cmp eax, 0x3000
jne case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0x85
ja 0x4122b3
je case.0x414117.14
cmp eax, 0xa
jb 0x4122c5
cmp eax, 0xd
jmp 0x4122bf
cmp eax, 0x2028
jb 0x4122c5
cmp eax, 0x2029
jbe case.0x414117.14
add ebx, 1
jmp 0x4117bc
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0x85
ja 0x4122f4
je 0x41230a
cmp eax, 0xa
jb case.0x414117.14
cmp eax, 0xd
jmp 0x412304
cmp eax, 0x2028
jb case.0x414117.14
cmp eax, 0x2029
ja case.0x414117.14
add ebx, 1
jmp 0x4117bc
xor eax, eax
mov ah, byte [ebx + 1]
add ebx, 3
mov al, byte [ebx - 1]
add eax, eax
cmp eax, dword [esp + 0x108]
mov dword [esp + 0x24], eax
jge 0x41233f
mov ecx, dword [edi + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x41233f
mov esi, dword [eax + 4]
sub esi, ecx
jmp 0x412347
mov esi, dword [edi + 0x58]
sub esi, ebp
add esi, 1
mov cl, byte [ebx]
movzx eax, cl
lea edx, [eax - 0x45]
cmp edx, 7
ja case.default.0x41235f
movzx edx, byte [edx + 0x4143e0]
jmp dword [edx*4 + 0x4143d8]
add eax, 0xffffffbb
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
movsx ecx, byte [eax + 0x433038]
movsx eax, byte [eax + 0x433040]
add ebx, 1
test eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
jne 0x4123cc
mov dword [esp + 0x14], 0x7fffffff
jmp 0x4123cc
xor edx, edx
cmp cl, 0x4c
sete dl
xor eax, eax
mov ah, byte [ebx + 1]
mov dword [esp + 0x20], edx
mov al, byte [ebx + 2]
mov dword [esp + 0x1c], eax
xor eax, eax
mov ah, byte [ebx + 3]
mov al, byte [ebx + 4]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4123c9
mov dword [esp + 0x14], 0x7fffffff
add ebx, 5
test esi, esi
je 0x4117bc
mov eax, 1
cmp dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
jl 0x412417
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x24]
push ecx
push ebp
mov ecx, edi
mov eax, esi
call fcn.004116d0
add esp, 8
test eax, eax
je case.0x414117.14
mov eax, dword [esp + 0x18]
add eax, 1
add ebp, esi
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
jle 0x4123e3
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
je 0x4117bc
cmp dword [esp + 0x20], 0
je 0x413bff
mov ecx, dword [esp + 0x110]
mov edx, eax
mov eax, dword [esp + 0x11c]
add eax, 1
push eax
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x11c]
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
lea esp, [esp]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x18], ecx
jge case.0x414117.14
mov edx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x28]
push ebp
mov ecx, edi
mov eax, esi
call fcn.004116d0
add esp, 8
test eax, eax
je case.0x414117.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add dword [esp + 0x18], 1
push eax
mov eax, dword [esp + 0x10c]
push 0
push ecx
mov ecx, dword [esp + 0x110]
push edx
push edi
push eax
push ecx
add ebp, esi
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x412480
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x28]
push ebp
mov ecx, edi
mov eax, esi
call fcn.004116d0
add esp, 8
test eax, eax
je case.0x414117.14
add ebp, esi
jmp 0x4117bc
mov cl, byte [ebx + 0x21]
lea eax, [ebx + 1]
add ebx, 0x21
mov dword [esp + 0x24], eax
movzx eax, cl
lea edx, [eax - 0x45]
cmp edx, 7
ja case.default.0x412542
movzx edx, byte [edx + 0x4143f0]
jmp dword [edx*4 + 0x4143e8]
movsx esi, byte [eax + 0x432ffb]
movsx edx, byte [eax + 0x432ff3]
add eax, 0xffffffbb
mov ecx, eax
and ecx, 1
add ebx, 1
test esi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], esi
jne 0x4125b4
mov esi, 0x7fffffff
jmp 0x4125b0
xor eax, eax
cmp cl, 0x4c
sete al
xor ecx, ecx
mov ch, byte [ebx + 3]
xor edx, edx
mov dh, byte [ebx + 1]
mov dword [esp + 0x20], eax
mov cl, byte [ebx + 4]
mov dl, byte [ebx + 2]
mov esi, ecx
test esi, esi
mov dword [esp + 0x14], ecx
jne 0x4125a4
mov esi, 0x7fffffff
mov dword [esp + 0x14], esi
add ebx, 5
jmp 0x4125b4
mov esi, 1
mov edx, esi
mov dword [esp + 0x14], esi
cmp edx, 1
mov dword [esp + 0x18], 1
jl 0x412602
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx esi, byte [ebp]
mov ecx, esi
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x24]
shr esi, 3
mov cl, byte [esi + ecx]
add ebp, 1
test cl, al
je case.0x414117.14
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, edx
mov dword [esp + 0x18], eax
jle 0x4125c1
mov esi, dword [esp + 0x14]
cmp edx, esi
je 0x4117bc
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], edx
je 0x413c9e
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
add eax, 1
push eax
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
lea ecx, [ecx]
cmp dword [esp + 0x18], esi
jge case.0x414117.14
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
add ebp, 1
test al, dl
je case.0x414117.14
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
add dword [esp + 0x18], 1
push ecx
mov ecx, dword [esp + 0x10c]
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x412660
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [edi + 0x58]
sub edx, ebp
cmp edx, 1
jl case.0x414117.14
mov al, byte [ebp]
add ebp, 1
cmp byte [ebx + 1], al
jne case.0x414117.14
add ebx, 2
jmp 0x4117bc
mov ecx, dword [edi + 0x58]
sub ecx, ebp
cmp ecx, 1
jl case.0x414117.14
movzx ecx, byte [ebp]
mov eax, dword [edi + 0x24]
movzx edx, byte [ebx + 1]
mov cl, byte [ecx + eax]
add ebp, 1
cmp byte [edx + eax], cl
jne case.0x414117.14
add ebx, 2
jmp 0x4117bc
xor edx, edx
mov dh, byte [ebx + 1]
add ebx, 3
mov dl, byte [ebx - 1]
mov esi, edx
mov eax, esi
jmp 0x4127c0
mov dword [esp + 0x1c], 1
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
xor eax, eax
cmp byte [ebx], 0x25
sete dl
add ebx, 3
mov cl, byte [ebx - 1]
mov dword [esp + 0x20], edx
mov esi, ecx
jmp 0x4127c0
xor eax, eax
mov dword [esp + 0x1c], 1
add ebx, 1
jmp 0x4127bb
mov eax, 1
mov dword [esp + 0x1c], eax
add ebx, eax
jmp 0x4127bb
mov esi, 1
xor eax, eax
mov dword [esp + 0x1c], esi
add ebx, esi
jmp 0x4127c0
movzx ecx, byte [ebx]
movsx esi, byte [ecx + 0x433022]
sub ecx, 0x1e
mov eax, ecx
and eax, 1
add ebx, 1
test esi, esi
mov dword [esp + 0x20], eax
movsx eax, byte [ecx + 0x433038]
jne 0x4127c0
mov esi, 0x7fffffff
mov ecx, dword [edi + 0x58]
sub ecx, ebp
cmp eax, ecx
jg case.0x414117.14
movzx edx, byte [ebx]
add ebx, 1
test byte [esp + 0x110], 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
je 0x4128c9
cmp eax, 1
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
mov dword [esp + 0x14], edx
jl 0x412827
lea ecx, [ecx]
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
add ebp, 1
cmp dword [esp + 0x14], ecx
jne case.0x414117.14
mov ecx, dword [esp + 0x18]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jle 0x412800
cmp eax, esi
je 0x4117bc
cmp dword [esp + 0x20], 0
jne 0x413d37
cmp eax, esi
mov dword [esp + 0x20], ebp
jge 0x412862
cmp ebp, dword [edi + 0x58]
jae 0x412862
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x14], ecx
jne 0x412862
add eax, 1
add ebp, 1
cmp eax, esi
jl 0x412842
cmp dword [esp + 0x1c], 0
jne 0x4117bc
cmp ebp, dword [esp + 0x20]
jb 0x4128bc
mov esi, dword [esp + 0x11c]
add esi, 1
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push esi
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
sub ebp, 1
test eax, eax
jne 0x41424a
cmp ebp, dword [esp + 0x20]
jae 0x41287d
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
cmp eax, 1
jl 0x4128ee
mov edi, edi
movzx ecx, byte [ebp]
add ebp, 1
cmp edx, ecx
jne case.0x414117.14
mov ecx, dword [esp + 0x18]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jle 0x4128d0
cmp eax, esi
je 0x4117bc
cmp dword [esp + 0x20], 0
jne 0x413df1
cmp eax, esi
mov ecx, ebp
mov dword [esp + 0x20], ecx
jge 0x412924
cmp ebp, dword [edi + 0x58]
jae 0x412924
movzx edx, byte [ebp]
cmp dword [esp + 0x14], edx
jne 0x412924
add eax, 1
add ebp, 1
cmp eax, esi
jl 0x41290b
cmp dword [esp + 0x1c], 0
jne 0x4117bc
cmp ebp, ecx
jb 0x41297c
mov esi, dword [esp + 0x11c]
add esi, 1
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x110]
push edx
push edi
push eax
push ecx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
sub ebp, 1
test eax, eax
jne 0x41424a
cmp ebp, dword [esp + 0x20]
jae 0x41293d
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx esi, byte [ebp]
add ebx, 1
add ebp, 1
test byte [esp + 0x110], 1
je 0x4129c8
mov eax, dword [edi + 0x24]
movzx ecx, byte [ebx]
mov dl, byte [eax + esi]
add ebx, 1
cmp byte [ecx + eax], dl
jne 0x4117bc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
movzx eax, byte [ebx]
add ebx, 1
cmp eax, esi
jne 0x4117bc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
xor ecx, ecx
mov ch, byte [ebx + 1]
add ebx, 3
mov cl, byte [ebx - 1]
mov esi, ecx
mov eax, esi
jmp 0x412a84
xor edx, edx
mov dh, byte [ebx + 1]
xor ecx, ecx
xor eax, eax
cmp byte [ebx], 0x32
sete cl
add ebx, 3
mov dl, byte [ebx - 1]
mov dword [esp + 0x20], ecx
mov esi, edx
jmp 0x412a84
xor eax, eax
mov dword [esp + 0x1c], 1
add ebx, 1
jmp 0x412a7f
mov eax, 1
mov dword [esp + 0x1c], eax
add ebx, eax
jmp 0x412a7f
mov esi, 1
xor eax, eax
mov dword [esp + 0x1c], esi
add ebx, esi
jmp 0x412a84
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov dword [esp + 0x1c], 1
add ebx, 3
mov dl, byte [ebx - 1]
mov esi, edx
jmp 0x412a84
movzx ecx, byte [ebx]
movsx esi, byte [ecx + 0x433015]
sub ecx, 0x2b
mov eax, ecx
and eax, 1
add ebx, 1
test esi, esi
mov dword [esp + 0x20], eax
movsx eax, byte [ecx + 0x433038]
jne 0x412a84
mov esi, 0x7fffffff
mov ecx, dword [edi + 0x58]
sub ecx, ebp
cmp eax, ecx
jg case.0x414117.14
movzx edx, byte [ebx]
add ebx, 1
test byte [esp + 0x110], 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 1
je 0x412b8a
cmp eax, 1
mov ecx, dword [edi + 0x24]
movzx edx, byte [ecx + edx]
mov dword [esp + 0x14], edx
jl 0x412ae8
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
add ebp, 1
cmp dword [esp + 0x14], ecx
je case.0x414117.14
mov ecx, dword [esp + 0x18]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jle 0x412ac1
cmp eax, esi
je 0x4117bc
cmp dword [esp + 0x20], 0
jne 0x413eaa
cmp eax, esi
mov dword [esp + 0x20], ebp
jge 0x412b23
cmp ebp, dword [edi + 0x58]
jae 0x412b23
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x14], ecx
je 0x412b23
add eax, 1
add ebp, 1
cmp eax, esi
jl 0x412b03
cmp dword [esp + 0x1c], 0
jne 0x4117bc
cmp ebp, dword [esp + 0x20]
jb 0x412b7d
mov esi, dword [esp + 0x11c]
add esi, 1
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
push esi
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
sub ebp, 1
cmp ebp, dword [esp + 0x20]
jae 0x412b3e
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
cmp eax, 1
jl 0x412bae
nop
movzx ecx, byte [ebp]
add ebp, 1
cmp edx, ecx
je case.0x414117.14
mov ecx, dword [esp + 0x18]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jle 0x412b90
cmp eax, esi
je 0x4117bc
cmp dword [esp + 0x20], 0
jne 0x413f63
cmp eax, esi
mov ecx, ebp
mov dword [esp + 0x20], ecx
jge 0x412be4
cmp ebp, dword [edi + 0x58]
jae 0x412be4
movzx edx, byte [ebp]
cmp dword [esp + 0x14], edx
je 0x412be4
add eax, 1
add ebp, 1
cmp eax, esi
jl 0x412bcb
cmp dword [esp + 0x1c], 0
jne 0x4117bc
cmp ebp, ecx
jb 0x412c3c
mov esi, dword [esp + 0x11c]
add esi, 1
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x110]
push edx
push edi
push eax
push ecx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
sub ebp, 1
cmp ebp, dword [esp + 0x20]
jae 0x412bfd
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
xor eax, eax
mov ah, byte [ebx + 1]
mov dword [esp + 0x20], 1
add ebx, 3
mov al, byte [ebx - 1]
mov esi, eax
mov dword [esp + 0x14], esi
jmp 0x412d06
xor ecx, ecx
mov ch, byte [ebx + 1]
xor edx, edx
xor esi, esi
cmp byte [ebx], 0x3f
sete dl
add ebx, 3
mov cl, byte [ebx - 1]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jmp 0x412d06
xor esi, esi
mov dword [esp + 0x1c], 1
add ebx, 1
jmp 0x412cfe
mov esi, 1
mov dword [esp + 0x1c], esi
add ebx, esi
jmp 0x412cfe
mov eax, 1
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
add ebx, eax
jmp 0x412d06
xor eax, eax
mov ah, byte [ebx + 1]
xor esi, esi
mov dword [esp + 0x1c], 1
add ebx, 3
mov al, byte [ebx - 1]
mov dword [esp + 0x14], eax
jmp 0x412d06
movzx eax, byte [ebx]
movsx esi, byte [eax + 0x433000]
sub eax, 0x38
mov ecx, eax
movsx eax, byte [eax + 0x433040]
and ecx, 1
add ebx, 1
test eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
jne 0x412d06
mov dword [esp + 0x14], 0x7fffffff
mov edx, dword [edi + 0x58]
movzx eax, byte [ebx]
mov ecx, edx
sub ecx, ebp
add ebx, 1
cmp esi, ecx
mov dword [esp + 0x24], eax
jg case.0x414117.14
test esi, esi
jle 0x41306c
add eax, 0xfffffffa
cmp eax, 0xe
ja case.0x4140fd.14
jmp dword [eax*4 + 0x4143f8]
test byte [esp + 0x110], 4
jne case.0x412d33.13
cmp esi, 1
mov dword [esp + 0x18], 1
jl 0x41306c
lea esp, [esp]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x412d96
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x412dbf
mov edi, dword [esp + 0x10c]
push ecx
add edi, 0x1c
xor edx, edx
mov ecx, ebp
call fcn.0041a2d0
add esp, 4
test eax, eax
jne case.0x414117.14
mov edi, dword [esp + 0x10c]
jmp 0x412dbf
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x58]
sub edx, eax
cmp ebp, edx
ja 0x412dbf
mov cl, byte [ebp]
cmp cl, byte [edi + 0x20]
jne 0x412dbf
cmp eax, 1
je case.0x414117.14
mov dl, byte [ebp + 1]
cmp dl, byte [edi + 0x21]
je case.0x414117.14
mov eax, dword [esp + 0x18]
add eax, 1
add ebp, 1
cmp eax, esi
mov dword [esp + 0x18], eax
jle 0x412d60
jmp 0x41306c
add ebp, esi
jmp 0x41306c
mov ecx, 1
cmp esi, ecx
jl 0x41306c
lea ebx, [ebx]
cmp ebp, edx
jae case.0x414117.14
movzx eax, byte [ebp]
sub eax, 0xa
add ebp, 1
cmp eax, 0x7b
ja case.0x414117.14
movzx eax, byte [eax + 0x414444]
jmp dword [eax*4 + 0x414434]
cmp ebp, edx
jae case.0x412e12.10
cmp byte [ebp], 0xa
jne case.0x412e12.10
add ebp, 1
jmp case.0x412e12.10
cmp dword [edi + 0x4c], 0
jne case.0x414117.14
add ecx, 1
cmp ecx, esi
jle 0x412df0
jmp 0x41306c
mov ecx, 1
cmp esi, ecx
jl 0x41306c
jmp 0x412e50
cmp ebp, edx
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 9
je case.0x414117.14
cmp eax, 0x20
je case.0x414117.14
cmp eax, 0xa0
je case.0x414117.14
add ecx, 1
cmp ecx, esi
jle 0x412e50
jmp 0x41306c
mov ecx, 1
cmp esi, ecx
jl 0x41306c
cmp ebp, edx
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 9
je 0x412eb9
cmp eax, 0x20
je 0x412eb9
cmp eax, 0xa0
jne case.0x414117.14
add ecx, 1
cmp ecx, esi
jle 0x412e95
jmp 0x41306c
mov ecx, 1
cmp esi, ecx
jl 0x41306c
cmp ebp, edx
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0xa
jl 0x412efa
cmp eax, 0xd
jle case.0x414117.14
cmp eax, 0x85
je case.0x414117.14
add ecx, 1
cmp ecx, esi
jle 0x412ed2
jmp 0x41306c
mov ecx, 1
cmp esi, ecx
jl 0x41306c
cmp ebp, edx
jae case.0x414117.14
movzx eax, byte [ebp]
add ebp, 1
cmp eax, 0xa
jl case.0x414117.14
cmp eax, 0xd
jle 0x412f3b
cmp eax, 0x85
jne case.0x414117.14
add ecx, 1
cmp ecx, esi
jle 0x412f13
jmp 0x41306c
mov eax, 1
cmp esi, eax
jl 0x41306c
mov ecx, dword [edi + 0x28]
jmp 0x412f60
movzx edx, byte [ebp]
mov dl, byte [edx + ecx]
and dl, 4
add ebp, 1
test dl, dl
jne case.0x414117.14
add eax, 1
cmp eax, esi
jle 0x412f60
jmp 0x41306c
mov eax, 1
cmp esi, eax
jl 0x41306c
mov ecx, dword [edi + 0x28]
movzx edx, byte [ebp]
mov dl, byte [edx + ecx]
and dl, 4
add ebp, 1
test dl, dl
je case.0x414117.14
add eax, 1
cmp eax, esi
jle 0x412f91
jmp 0x41306c
mov eax, 1
cmp esi, eax
jl 0x41306c
mov ecx, dword [edi + 0x28]
movzx edx, byte [ebp]
mov dl, byte [edx + ecx]
and dl, 1
add ebp, 1
test dl, dl
jne case.0x414117.14
add eax, 1
cmp eax, esi
jle 0x412fc2
jmp 0x41306c
mov eax, 1
cmp esi, eax
jl 0x41306c
mov ecx, dword [edi + 0x28]
movzx edx, byte [ebp]
mov dl, byte [edx + ecx]
and dl, 1
add ebp, 1
test dl, dl
je case.0x414117.14
add eax, 1
cmp eax, esi
jle 0x412ff3
jmp 0x41306c
mov eax, 1
cmp esi, eax
jl 0x41306c
mov ecx, dword [edi + 0x28]
lea ecx, [ecx]
movzx edx, byte [ebp]
mov dl, byte [edx + ecx]
and dl, 0x10
add ebp, 1
test dl, dl
jne case.0x414117.14
add eax, 1
cmp eax, esi
jle 0x413020
jmp 0x41306c
mov eax, 1
cmp esi, eax
jl 0x41306c
mov ecx, dword [edi + 0x28]
lea ebx, [ebx]
movzx edx, byte [ebp]
mov dl, byte [edx + ecx]
and dl, 0x10
add ebp, 1
test dl, dl
je case.0x414117.14
add eax, 1
cmp eax, esi
jle 0x413050
cmp esi, dword [esp + 0x14]
je 0x4117bc
cmp dword [esp + 0x20], 0
jne 0x41402a
mov eax, dword [esp + 0x24]
add eax, 0xfffffffa
cmp eax, 0xe
mov dword [esp + 0x20], ebp
ja case.0x4140fd.14
jmp dword [eax*4 + 0x4144c0]
test byte [esp + 0x110], 4
jne case.0x413095.13
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413401
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4130ee
mov edi, dword [esp + 0x10c]
push ecx
add edi, 0x1c
xor edx, edx
mov ecx, ebp
call fcn.0041a2d0
add esp, 4
test eax, eax
jne 0x413401
mov edi, dword [esp + 0x10c]
jmp 0x413114
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp ebp, eax
ja 0x413114
mov al, byte [ebp]
cmp al, byte [edi + 0x20]
jne 0x413114
cmp ecx, 1
je 0x413401
mov cl, byte [ebp + 1]
cmp cl, byte [edi + 0x21]
je 0x413401
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x4130b4
jmp 0x413408
mov eax, dword [esp + 0x14]
sub eax, esi
mov ecx, eax
mov eax, dword [edi + 0x58]
sub eax, ebp
cmp ecx, eax
jbe 0x413138
mov ecx, eax
add ebp, ecx
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov ecx, dword [edi + 0x58]
lea esp, [esp]
cmp ebp, ecx
jae 0x413408
movzx eax, byte [ebp]
cmp eax, 0xd
jne 0x413174
add ebp, 1
cmp ebp, ecx
jae 0x413408
cmp byte [ebp], 0xa
jne 0x41319b
jmp 0x413198
cmp eax, 0xa
je 0x413198
cmp dword [edi + 0x4c], 0
jne 0x413408
cmp eax, 0xb
je 0x413198
cmp eax, 0xc
je 0x413198
cmp eax, 0x85
jne 0x413408
add ebp, 1
add esi, 1
cmp esi, dword [esp + 0x14]
jl 0x413150
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov ecx, dword [edi + 0x58]
cmp ebp, ecx
jae 0x413408
movzx eax, byte [ebp]
cmp eax, 9
je 0x413408
cmp eax, 0x20
je 0x413408
cmp eax, 0xa0
je 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x4131b6
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov ecx, dword [edi + 0x58]
lea ecx, [ecx]
cmp ebp, ecx
jae 0x413408
movzx eax, byte [ebp]
cmp eax, 9
je 0x413221
cmp eax, 0x20
je 0x413221
cmp eax, 0xa0
jne 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x413200
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov ecx, dword [edi + 0x58]
nop
cmp ebp, ecx
jae 0x413408
movzx eax, byte [ebp]
cmp eax, 0xa
je 0x413408
cmp eax, 0xb
je 0x413408
cmp eax, 0xc
je 0x413408
cmp eax, 0xd
je 0x413408
cmp eax, 0x85
je 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x413240
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov ecx, dword [edi + 0x58]
lea esp, [esp]
cmp ebp, ecx
jae 0x413408
movzx eax, byte [ebp]
cmp eax, 0xa
je 0x4132cb
cmp eax, 0xb
je 0x4132cb
cmp eax, 0xc
je 0x4132cb
cmp eax, 0xd
je 0x4132cb
cmp eax, 0x85
jne 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x4132a0
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413408
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
jne 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x4132e9
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413408
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 4
je 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x413320
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413408
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
jne 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x413357
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413408
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 1
je 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x41338e
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413408
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
jne 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x4133ba
jmp 0x413408
cmp esi, dword [esp + 0x14]
jge 0x413408
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae 0x413408
movzx edx, byte [ebp]
mov ecx, dword [edi + 0x28]
test byte [edx + ecx], 0x10
je 0x413408
add esi, 1
add ebp, 1
cmp esi, dword [esp + 0x14]
jl 0x4133e2
jmp 0x413408
mov edi, dword [esp + 0x10c]
cmp dword [esp + 0x1c], 0
jne 0x4117bc
cmp ebp, dword [esp + 0x20]
jb 0x413462
mov esi, dword [esp + 0x11c]
add esi, 1
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
push esi
push 0
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
sub ebp, 1
test eax, eax
jne 0x41424a
cmp ebp, dword [esp + 0x20]
jae 0x413423
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
xor edx, edx
mov dh, byte [ebx + 4]
mov dl, byte [ebx + 5]
cmp byte [ebx + edx + 3], 0x53
lea ebx, [ebx + edx + 3]
jne 0x413491
xor eax, eax
mov ah, byte [ebx + 1]
mov al, byte [ebx + 2]
add ebx, eax
cmp byte [ebx], 0x53
je 0x413482
mov edx, dword [esp + 0x14]
add ebx, 3
cmp edx, 0x62
jne 0x4136ee
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
add edx, 1
push edx
mov edx, dword [esp + 0x10c]
push 2
push eax
push ecx
push edi
push edx
push esi
push ebx
push ebp
call fcn.00411750
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
xor eax, eax
mov ah, byte [ebx + 3]
mov al, byte [ebx + 4]
lea esi, [eax + eax]
cmp esi, dword [edi + 0x14]
mov dword [esp + 0x20], eax
jl 0x413896
xor eax, eax
cmp dword [esp + 0x14], 0x60
setl al
xor ecx, ecx
mov ch, byte [ebx + 1]
sub eax, 1
and eax, 2
mov cl, byte [ebx + 2]
mov dword [esp + 0x118], eax
cmp byte [ecx + ebx], 0x53
jne 0x413598
mov esi, dword [esp + 0x11c]
add esi, 1
jmp 0x413530
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x108]
push esi
push eax
mov eax, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x110]
push eax
movzx eax, byte [ebx]
push edi
push ecx
movzx ecx, byte [eax + 0x431fc0]
push edx
add ecx, ebx
push ecx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x413578
cmp eax, 0xfffffc1c
jne 0x41424a
xor edx, edx
mov dh, byte [ebx + 1]
xor eax, eax
mov dl, byte [ebx + 2]
mov ah, byte [ebx + edx + 1]
add ebx, edx
mov al, byte [ebx + 2]
cmp byte [eax + ebx], 0x53
mov eax, dword [esp + 0x118]
je 0x413530
test eax, eax
jne 0x41398c
movzx ecx, byte [ebx]
movzx edx, byte [ecx + 0x431fc0]
add ebx, edx
jmp 0x4136f9
cmp byte [ebx + 3], 0x18
lea esi, [ebx + 3]
jne 0x4135d3
mov edx, dword [esp + 0x110]
movzx eax, byte [ebx + 4]
and edx, 0xfffffff8
or eax, edx
mov dword [esp + 0x110], eax
jmp 0x4135da
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x11c]
add edx, 1
cmp byte [ebx], 0x56
push edx
mov edx, dword [esp + 0x118]
jne 0x41361a
push 0
push edx
push eax
mov eax, dword [esp + 0x114]
push edi
push ecx
push eax
push esi
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov ebx, dword [esp + 0x1c]
jmp 0x4136ee
push 2
push edx
push eax
mov eax, dword [esp + 0x114]
push edi
push ecx
mov ecx, dword [esp + 0x34]
push eax
push ecx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov ebx, esi
jmp 0x4136ee
cmp byte [esi], 0x60
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
cmp byte [ebx], 0x56
mov dword [esp + 0x118], eax
jne 0x4136af
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x28]
add edx, 1
push edx
mov edx, dword [esp + 0x10c]
push 0
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
add ebx, 3
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov eax, dword [esp + 0x118]
test eax, eax
jne 0x413ba3
mov ebx, esi
jmp 0x4136f9
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x114]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push esi
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
add ebx, 3
mov dword [esp + 0x118], 0
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jb 0x41177a
add dword [edi], 1
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x110]
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x431fc0]
push edi
push edx
push esi
add ecx, ebx
push ecx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
add edx, 1
push edx
mov edx, dword [esp + 0x114]
push eax
mov eax, dword [esp + 0x110]
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x431fc0]
push edi
push eax
push esi
add edx, ebx
push edx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov eax, 0xfffffc19
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
add eax, 1
push eax
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x110]
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x431fc0]
push edi
push ecx
push esi
add eax, ebx
push eax
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov dword [edi + 0x5c], ebp
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x110]
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x431fc0]
push edi
push edx
push esi
add ecx, ebx
push ecx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, dword [edi + 0xc]
mov edx, dword [eax + esi*4]
mov ecx, dword [eax + esi*4 + 4]
mov dword [esp + 0x28], edx
mov edx, dword [edi + 0x10]
sub edx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [edi + 0x68]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x24], edx
xor edx, edx
mov ecx, ebp
sub ecx, dword [edi + 0x54]
cmp dword [esp + 0x14], 0x61
mov dword [eax], ecx
mov eax, dword [esp + 0x11c]
setne dl
sub edx, 1
and edx, 2
add eax, 1
mov dword [esp + 0x118], edx
mov dword [esp + 0x1c], eax
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x110]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x431fc0]
push eax
add edx, ebx
push edx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x413943
cmp eax, 0xfffffc1c
jne 0x41424a
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov dword [edi + 0x68], eax
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x53
je 0x4138f0
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x28]
mov dword [edx + esi*4], eax
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x18]
mov dword [ecx + esi*4 + 4], edx
mov eax, dword [edi + 0x10]
sub eax, dword [esp + 0x20]
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x44]
mov dword [ecx + eax*4], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x114]
add ecx, 1
push ecx
mov ecx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x118]
push edx
mov edx, dword [esp + 0x110]
push eax
movzx eax, byte [ebx]
push edi
push ecx
movzx ecx, byte [eax + 0x431fc0]
push edx
add ecx, ebx
push ecx
push ebp
call fcn.00411750
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
cmp dword [edi + 0x40], ecx
je 0x4139e3
cmp ebp, esi
je case.0x414117.14
mov eax, dword [esp + 0x108]
mov dword [edi + 0x60], ebp
mov dword [edi + 0x64], eax
mov dword [edi + 0x5c], esi
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, dword [edi + 0x50]
xor ecx, ecx
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ecx, eax
mov esi, ecx
cmp esi, eax
jne 0x413a20
mov dword [esp + 0x30], 0
jmp 0x413a2c
xor edx, edx
mov dh, byte [esi + 3]
mov dl, byte [esi + 4]
mov dword [esp + 0x30], edx
mov eax, dword [edi + 0x78]
lea ecx, [esp + 0x2c]
mov dword [edi + 0x78], ecx
mov ecx, dword [edi + 0x10]
add ebx, 3
cmp ecx, 0x1e
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ecx
jg 0x413a5a
lea eax, [esp + 0x80]
mov dword [esp + 0x3c], eax
jmp 0x413a87
lea edx, [ecx*4]
push edx
call dword [sym.td.exe_pcre_malloc]
add esp, 4
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x413a83
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x40]
mov edx, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00421440
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x44], eax
mov al, byte [esi]
add esp, 0xc
cmp al, 0x60
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
add ecx, 1
mov dword [esp + 0x1c], ecx
mov edi, edi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push ebx
push ecx
mov ecx, dword [esp + 0x114]
push edx
movzx edx, al
movzx eax, byte [edx + 0x431fc0]
push edi
push ecx
push ebp
add eax, esi
push eax
push ebp
call fcn.00411750
add esp, 0x24
cmp eax, 1
je 0x413b73
test eax, eax
je 0x413b0e
cmp eax, 0xfffffc1c
jne 0x41424a
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x2c]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
mov dword [edi + 0x78], ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push edx
call fcn.00421440
xor eax, eax
mov ah, byte [esi + 1]
add esp, 0xc
mov al, byte [esi + 2]
add esi, eax
mov al, byte [esi]
cmp al, 0x53
je 0x413ac0
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x80]
cmp eax, ecx
je 0x413b66
push eax
call dword [sym.td.exe_pcre_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x80]
cmp eax, edx
mov dword [edi + 0x78], ecx
je 0x413b93
push eax
call dword [sym.td.exe_pcre_free]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [esp + 0x11c]
mov ecx, dword [esp + 0x28]
add edx, 1
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push esi
push ebp
call fcn.00411750
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x108]
mov dword [edi + 0x60], ebp
mov dword [edi + 0x64], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
cmp eax, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], eax
jge 0x413c41
mov edx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x28]
push ebp
mov ecx, edi
mov eax, esi
call fcn.004116d0
add esp, 8
test eax, eax
je 0x413c3b
mov eax, dword [esp + 0x18]
add eax, 1
add ebp, esi
cmp eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
jl 0x413c0b
cmp ebp, dword [esp + 0x20]
jb 0x413c91
mov eax, dword [esp + 0x11c]
add eax, 1
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x10c]
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
sub ebp, esi
cmp ebp, dword [esp + 0x20]
jae 0x413c4f
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
cmp edx, esi
mov dword [esp + 0x20], ebp
jge 0x413ce1
cmp ebp, dword [edi + 0x58]
jae 0x413cdb
movzx eax, byte [ebp]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x413cdb
mov eax, dword [esp + 0x18]
add eax, 1
add ebp, 1
cmp eax, esi
mov dword [esp + 0x18], eax
jl 0x413ca6
cmp ebp, dword [esp + 0x20]
jb 0x413d2a
mov esi, dword [esp + 0x11c]
add esi, 1
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x108]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x110]
push edx
push edi
push eax
push ecx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
sub ebp, 1
cmp ebp, dword [esp + 0x20]
jae 0x413ceb
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x11c]
add eax, 1
push eax
push 0
push edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x11c]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
nop
cmp dword [esp + 0x18], esi
jge case.0x414117.14
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx edx, byte [eax + ecx]
add ebp, 1
cmp dword [esp + 0x14], edx
jne case.0x414117.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add dword [esp + 0x18], 1
push eax
mov eax, dword [esp + 0x10c]
push 0
push ecx
mov ecx, dword [esp + 0x110]
push edx
push edi
push eax
push ecx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x413d80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x11c]
add eax, 1
push eax
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
lea esp, [esp]
cmp dword [esp + 0x18], esi
jge case.0x414117.14
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx ecx, byte [ebp]
add ebp, 1
cmp dword [esp + 0x14], ecx
jne case.0x414117.14
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
add dword [esp + 0x18], 1
push edx
mov edx, dword [esp + 0x10c]
push 0
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x413e40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x11c]
add eax, 1
push eax
push 0
push edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x11c]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
cmp dword [esp + 0x18], esi
jge case.0x414117.14
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx eax, byte [ebp]
mov ecx, dword [edi + 0x24]
movzx edx, byte [eax + ecx]
add ebp, 1
cmp dword [esp + 0x14], edx
je case.0x414117.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
add dword [esp + 0x18], 1
push eax
mov eax, dword [esp + 0x10c]
push 0
push ecx
mov ecx, dword [esp + 0x110]
push edx
push edi
push eax
push ecx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x413ef2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x108]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x11c]
add eax, 1
push eax
push 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x11c]
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
jmp 0x413fb0
cmp dword [esp + 0x18], esi
jge case.0x414117.14
cmp ebp, dword [edi + 0x58]
jae case.0x414117.14
movzx ecx, byte [ebp]
add ebp, 1
cmp dword [esp + 0x14], ecx
je case.0x414117.14
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
add dword [esp + 0x18], 1
push edx
mov edx, dword [esp + 0x10c]
push 0
push eax
mov eax, dword [esp + 0x110]
push ecx
push edi
push edx
push eax
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x413fb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x11c]
add esi, 1
push esi
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
jne 0x41424a
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x14]
jge case.0x414117.14
mov eax, dword [edi + 0x58]
cmp ebp, eax
jae case.0x414117.14
test byte [esp + 0x110], 4
jne 0x4140e6
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x4140c0
mov edi, dword [esp + 0x10c]
push ecx
add edi, 0x1c
xor edx, edx
mov ecx, ebp
call fcn.0041a2d0
add esp, 4
test eax, eax
jne case.0x414117.14
mov edi, dword [esp + 0x10c]
jmp 0x4140e6
mov ecx, dword [edi + 0x1c]
sub eax, ecx
cmp ebp, eax
ja 0x4140e6
mov dl, byte [ebp]
cmp dl, byte [edi + 0x20]
jne 0x4140e6
cmp ecx, 1
je case.0x414117.14
mov al, byte [ebp + 1]
cmp al, byte [edi + 0x21]
je case.0x414117.14
mov ecx, dword [esp + 0x24]
movzx eax, byte [ebp]
add ecx, 0xfffffffa
add ebp, 1
cmp ecx, 0xe
ja case.0x4140fd.14
jmp dword [ecx*4 + 0x4144fc]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x414117.14
movzx ecx, byte [eax + 0x414548]
jmp dword [ecx*4 + 0x414538]
cmp ebp, dword [edi + 0x58]
jae case.0x4140fd.12
cmp byte [ebp], 0xa
jne case.0x4140fd.12
add ebp, 1
jmp case.0x4140fd.12
cmp dword [edi + 0x4c], 0
jne case.0x414117.14
jmp case.0x4140fd.12
cmp eax, 9
je case.0x414117.14
cmp eax, 0x20
je case.0x414117.14
cmp eax, 0xa0
jmp 0x4141f9
cmp eax, 9
je case.0x4140fd.12
cmp eax, 0x20
je case.0x4140fd.12
cmp eax, 0xa0
jne case.0x414117.14
jmp case.0x4140fd.12
cmp eax, 0xa
jb case.0x4140fd.12
cmp eax, 0xd
jbe case.0x414117.14
cmp eax, 0x85
jmp 0x4141f9
cmp eax, 0xa
jb case.0x414117.14
cmp eax, 0xd
jbe case.0x4140fd.12
cmp eax, 0x85
jne case.0x414117.14
jmp case.0x4140fd.12
mov edx, dword [edi + 0x28]
test byte [eax + edx], 4
jne case.0x414117.14
jmp case.0x4140fd.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 4
jmp 0x4141f9
mov edx, dword [edi + 0x28]
test byte [eax + edx], 1
jne case.0x414117.14
jmp case.0x4140fd.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 1
jmp 0x4141f9
mov edx, dword [edi + 0x28]
test byte [eax + edx], 0x10
jne case.0x414117.14
jmp case.0x4140fd.12
mov ecx, dword [edi + 0x28]
test byte [eax + ecx], 0x10
je case.0x414117.14
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
add dword [esp + 0x18], 1
push esi
push 0
push edx
mov edx, dword [esp + 0x110]
push eax
push edi
push ecx
push edx
push ebx
push ebp
call fcn.00411750
add esp, 0x24
test eax, eax
je 0x41406e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe8
ret