Function at 0x70305440
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xe0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x104]
mov eax, dword [esi]
push edi
cmp eax, dword [esi + 4]
jae 0x70307c90
mov ebx, dword [esp + 0x110]
mov edi, dword [esp + 0xf4]
lea ebx, [ebx]
mov ecx, dword [esp + 0x118]
inc dword [esi]
cmp ecx, dword [esi + 8]
jae 0x70307ca2
test byte [esp + 0x114], 2
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x24], edx
je 0x703054b0
lea eax, [esp + 0x70]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x110], eax
lea ebx, [ebx]
mov ebx, dword [esp + 0xf8]
mov cl, byte [ebx]
movzx eax, cl
xor edx, edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
cmp eax, 0x76
ja case.0x703054da.15
movzx eax, byte [eax + 0x70309084]
jmp dword [eax*4 + 0x70308f58]
movzx ebp, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl ebp, 8
or ebp, ecx
cmp byte [ebx + 3], 0x53
jne 0x703055b2
mov ecx, dword [sym.safemon.dll_pcre_callout]
cmp ecx, edx
je 0x703055a0
movzx edx, byte [ebx + 4]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x6c]
sub edx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xfc]
sub edx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], edx
mov edx, edi
sub edx, eax
movzx eax, byte [ebx + 5]
shl eax, 8
mov dword [esp + 0x58], edx
movzx edx, byte [ebx + 6]
or eax, edx
movzx edx, byte [ebx + 8]
mov dword [esp + 0x68], eax
movzx eax, byte [ebx + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
cdq
sub eax, edx
mov edx, dword [esi + 0x98]
sar eax, 1
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x68], edx
call ecx
add esp, 4
test eax, eax
jg 0x70308226
jl 0x70308f4b
movzx ecx, byte [0x70320d93]
add ebx, ecx
mov dword [esp + 0xf8], ebx
xor edx, edx
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x70305808
cmp ecx, 0x67
je 0x70305808
cmp ecx, 0x64
je 0x7030564e
cmp ecx, 0x65
je 0x7030564e
cmp ecx, 0x68
jne 0x703055ee
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x703059c7
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x10c]
inc ecx
push ecx
mov ecx, dword [esp + 0x108]
push 1
push 0
push edx
mov edx, dword [esp + 0x110]
push esi
push ecx
mov ecx, dword [esp + 0x114]
push edx
push ecx
push eax
push edi
call fcn.70305440
add esp, 0x28
cmp eax, 1
je 0x70307998
test eax, eax
je 0x70305647
cmp eax, 0xfffffc1e
jne 0x70308f4b
cmp dword [esi + 0x70], ebx
jne 0x70308f4b
add ebx, ebp
jmp 0x703059c7
movzx eax, byte [ebx + 4]
movzx ebp, byte [ebx + 5]
shl eax, 8
or eax, ebp
add eax, eax
cmp eax, dword [esp + 0x104]
jge 0x70305673
mov ebp, dword [esi + 0xc]
cmp dword [ebp + eax*4], edx
jge 0x703057f4
mov dword [esp + 0x10], edx
cmp ecx, 0x65
jne 0x703057e0
mov ecx, dword [esi + 0x28]
sar eax, 1
cmp dword [esi + 0x20], 0
mov edx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0
jle 0x703056c9
lea esp, [esp]
movzx ebp, byte [edx]
movzx edx, byte [edx + 1]
shl ebp, 8
or ebp, edx
cmp ebp, eax
je 0x703056c9
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
add edx, dword [esi + 0x24]
inc ebp
cmp ebp, dword [esi + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebp
jl 0x703056a0
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x20]
jge 0x703057e0
mov eax, dword [esp + 0x1c]
mov ebp, eax
cmp eax, ecx
jbe 0x70305751
sub ebp, dword [esi + 0x24]
add eax, 2
lea ecx, [ebp + 2]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x70305710
test dl, dl
je 0x7030570c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x70305710
add eax, 2
add ecx, 2
test dl, dl
jne 0x703056f0
xor eax, eax
jmp 0x70305715
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x70305751
movzx eax, byte [ebp]
movzx ecx, byte [ebp + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x104]
jge 0x7030573e
mov edx, dword [esi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x703057f4
mov dword [esp + 0x10], 0
cmp ebp, dword [esi + 0x28]
jbe 0x70305751
mov eax, dword [esp + 0x1c]
jmp 0x703056e0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
inc eax
cmp eax, dword [esi + 0x20]
mov dword [esp + 0x14], eax
jge 0x703057e0
mov eax, ebp
add eax, 2
mov dword [esp + 0x1c], eax
add ebp, dword [esi + 0x24]
mov eax, dword [esp + 0x1c]
lea ecx, [ebp + 2]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x703057a0
test dl, dl
je 0x7030579c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x703057a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x70305780
xor eax, eax
jmp 0x703057a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x703057e0
movzx eax, byte [ebp]
movzx ecx, byte [ebp + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x104]
jge 0x703057ca
mov edx, dword [esi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x703057f4
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esi + 0x20]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
jl 0x70305770
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x703059bc
mov eax, 3
mov dword [esp + 0x10], 1
add ebx, eax
jmp 0x703059bc
mov edx, dword [esi + 0x94]
test edx, edx
jne 0x70305826
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x703059c7
movzx eax, byte [ebx + 4]
movzx ebx, byte [ebx + 5]
shl eax, 8
or eax, ebx
cmp eax, 0xffff
je 0x703058d0
mov edx, dword [edx + 4]
mov dword [esp + 0x1c], edx
cmp eax, edx
je 0x703058d0
mov dword [esp + 0x10], 0
cmp ecx, 0x67
jne 0x7030599a
cmp dword [esi + 0x20], 0
mov ecx, dword [esi + 0x28]
mov ebx, ecx
mov dword [esp + 0x14], 0
jle 0x70305892
movzx edx, byte [ebx]
movzx ebp, byte [ebx + 1]
shl edx, 8
or edx, ebp
cmp edx, eax
je 0x70305892
mov edx, dword [esp + 0x14]
add ebx, dword [esi + 0x24]
inc edx
cmp edx, dword [esi + 0x20]
mov dword [esp + 0x14], edx
jl 0x70305871
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 0x20]
jge 0x7030599a
mov ebp, ebx
cmp ebx, ecx
jbe 0x70305918
sub ebp, dword [esi + 0x24]
lea eax, [ebx + 2]
lea ecx, [ebp + 2]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x703058e2
test dl, dl
je 0x703058cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x703058e2
add eax, 2
add ecx, 2
test dl, dl
jne 0x703058b0
xor eax, eax
jmp 0x703058e7
mov dword [esp + 0x10], 1
mov eax, 3
jmp 0x703059ae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x70305918
movzx ecx, byte [ebp]
movzx edx, byte [ebp + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [esp + 0x1c]
sete al
mov dword [esp + 0x10], eax
test eax, eax
jne 0x70305993
cmp ebp, dword [esi + 0x28]
ja 0x703058a5
test eax, eax
jne 0x70305993
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esi + 0x20]
mov ebp, ebx
mov dword [esp + 0x14], eax
jge 0x7030599a
add ebx, 2
nop
add ebp, dword [esi + 0x24]
mov eax, ebx
lea ecx, [ebp + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x70305958
test dl, dl
je 0x70305954
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x70305958
add eax, 2
add ecx, 2
test dl, dl
jne 0x70305938
xor eax, eax
jmp 0x7030595d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x7030599a
movzx ecx, byte [ebp]
movzx eax, byte [ebp + 1]
shl ecx, 8
or eax, ecx
xor edx, edx
cmp eax, dword [esp + 0x1c]
sete dl
mov eax, edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x70305993
mov eax, dword [esp + 0x14]
inc eax
cmp eax, dword [esi + 0x20]
mov dword [esp + 0x14], eax
jl 0x70305930
test edx, edx
je 0x7030599a
mov eax, 3
jmp 0x703059ae
mov ecx, dword [esp + 0xf8]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
add dword [esp + 0xf8], eax
mov ebx, dword [esp + 0xf8]
cmp dword [esp + 0x10], 0
jne 0x703079c4
cmp byte [ebx], 0x54
je 0x703079c4
add ebx, 3
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
cmp ecx, dword [esi + 0x14]
mov dword [esi + 0x84], eax
jl 0x70305a10
add ebx, 3
mov dword [esi + 0x38], 1
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ebp, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
sub ebp, eax
mov eax, dword [edx + ebp*4]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0xc]
mov edx, edi
sub edx, dword [esi + 0x68]
cmp dword [esp + 0x104], ecx
mov dword [eax + ecx*4 + 4], edx
jg 0x70305a3d
add ecx, 2
mov dword [esp + 0x104], ecx
add ebx, 3
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ebp, dword [esi + 0x94]
test ebp, ebp
je 0x703082f2
cmp dword [ebp + 4], 0
jne 0x703082f2
mov ecx, dword [ebp]
mov dword [esi + 0x94], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
add edx, edx
add edx, edx
push edx
push eax
push ecx
call fcn.702e3370
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x104], edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0xf8], ecx
jmp 0x703054b0
movzx edx, byte [ebx + 1]
add ebx, 2
mov dword [esp + 0x10c], edx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ebp, dword [esp + 0x118]
mov ebx, dword [esp + 0xfc]
inc ebp
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
push ebp
push 0
push 0
push eax
mov eax, dword [esp + 0x108]
push esi
push ecx
push edx
push ebx
add eax, 3
push eax
push edi
call fcn.70305440
add esp, 0x28
cmp eax, 1
je 0x70305b5a
cmp eax, 0xfffffc19
je 0x70305b5a
test eax, eax
je 0x70305b32
cmp eax, 0xfffffc1e
jne 0x70308f4b
mov ecx, dword [esp + 0xf8]
cmp dword [esi + 0x70], ecx
jne 0x70308f4b
jmp 0x70305b39
mov ecx, dword [esp + 0xf8]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x54
mov dword [esp + 0xf8], ecx
je 0x70305ad2
jmp 0x70305b6b
mov ecx, dword [esi + 0x70]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0xf8]
cmp byte [ecx], 0x55
je 0x70308357
test byte [esp + 0x114], 1
jne 0x70308593
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x54
je 0x70305b82
add ecx, 3
mov dword [esp + 0xf8], ecx
mov ecx, dword [esi + 0x80]
mov dword [esp + 0x104], ecx
jmp 0x703054b0
mov ebp, dword [esp + 0x118]
mov ebx, dword [esp + 0x100]
inc ebp
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0xfc]
push ebp
push 0
push 0
push edx
mov edx, dword [esp + 0x108]
push esi
push eax
push ebx
push ecx
add edx, 3
push edx
push edi
call fcn.70305440
add esp, 0x28
cmp eax, 1
je 0x70306d35
cmp eax, 0xfffffc19
je 0x70306d35
cmp eax, 0xfffffc1c
je 0x70305c66
cmp eax, 0xfffffc1b
je 0x70305c66
cmp eax, 0xfffffc1a
je 0x70305c66
test eax, eax
je 0x70305c3e
cmp eax, 0xfffffc1e
jne 0x70308f4b
mov ecx, dword [esp + 0xf8]
cmp dword [esi + 0x70], ecx
jne 0x70308f4b
jmp 0x70305c45
mov ecx, dword [esp + 0xf8]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
cmp byte [ecx], 0x54
mov dword [esp + 0xf8], ecx
je 0x70305bc1
jmp 0x70305c84
mov ecx, dword [esp + 0xf8]
lea ecx, [ecx]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
cmp byte [ecx], 0x54
je 0x70305c70
test byte [esp + 0x114], 1
jne 0x70308593
add ecx, 3
mov dword [esp + 0xf8], ecx
jmp 0x703054b0
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
sub edi, eax
cmp edi, dword [esi + 0x68]
jb case.0x7030733f.14
cmp edi, dword [esi + 0x78]
jae 0x70305cc1
mov dword [esi + 0x78], edi
add ebx, 3
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ecx, dword [sym.safemon.dll_pcre_callout]
cmp ecx, edx
je 0x70305d78
movzx edx, byte [ebx + 1]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x68]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x6c]
sub edx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0xfc]
sub edx, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], edx
mov edx, edi
sub edx, eax
movzx eax, byte [ebx + 2]
shl eax, 8
mov dword [esp + 0x58], edx
movzx edx, byte [ebx + 3]
or eax, edx
movzx edx, byte [ebx + 5]
mov dword [esp + 0x68], eax
movzx eax, byte [ebx + 4]
shl eax, 8
or eax, edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
cdq
sub eax, edx
mov edx, dword [esi + 0x98]
sar eax, 1
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x44], 1
mov dword [esp + 0x68], edx
call ecx
add esp, 4
test eax, eax
jg 0x70308226
jl 0x70308f4b
add ebx, 6
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x20], edi
lea ecx, [ecx]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
inc eax
push eax
mov eax, dword [esp + 0x104]
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x10c]
push esi
push edx
push eax
push ecx
lea edx, [ebp + 3]
push edx
push edi
call fcn.70305440
add esp, 0x28
cmp eax, 1
je 0x70305e0e
test eax, eax
je 0x70305df7
cmp eax, 0xfffffc1e
jne 0x70308f4b
cmp dword [esi + 0x70], ebp
jne 0x70308f4b
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x70305da0
jmp 0x70305e18
mov edx, dword [esi + 0x70]
mov dword [esp + 0xfc], edx
mov al, byte [ebp]
cmp al, 0x5d
je 0x70305e30
cmp al, 0x54
jne 0x7030614c
jmp 0x70305e30
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add ebp, eax
cmp byte [ebp], 0x54
je 0x70305e30
cmp byte [ebp], 0x55
mov eax, dword [esi + 0x80]
mov edi, dword [esi + 0x74]
mov dword [esp + 0x104], eax
je 0x70305e65
cmp edi, dword [esp + 0x20]
jne 0x70307b10
add ebp, 3
mov dword [esp + 0xf8], ebp
jmp 0x703054b0
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je case.0x703054da.84
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
inc ecx
push ecx
mov ecx, dword [esp + 0x108]
push 0
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
push edx
push eax
lea ebp, [ebx + 1]
push ebp
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
lea ecx, [ecx]
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
shl ecx, 8
or ecx, edx
add ebp, ecx
cmp byte [ebp], 0x54
je 0x70305ee0
add ebp, 3
mov dword [esp + 0xf8], ebp
jmp 0x703054b0
inc ebx
mov eax, ebx
jmp 0x70305f10
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x70305f10
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x110]
inc ecx
push ecx
mov ecx, dword [esp + 0x110]
push 0
push edx
mov edx, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x110]
push esi
push edx
mov edx, dword [esp + 0x114]
push ecx
push edx
add eax, 3
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
lea eax, [ebx + 1]
lea esp, [esp]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x70305f80
add eax, 3
mov dword [esp + 0xf8], eax
jmp 0x703054b0
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x10], eax
mov al, byte [eax]
cmp al, 0x61
jb 0x70305fd7
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [esp + 0x20], edx
mov dword [esp + 0x110], ebx
jmp 0x70305fe6
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x20], 0
cmp al, 0x58
je 0x703085e8
cmp al, 0x59
je 0x703085e8
cmp al, 0x5a
je 0x703085e8
cmp al, 0x5b
je 0x703085e8
cmp al, 0x5d
je 0x703085e8
cmp al, 0x5f
je 0x7030601a
cmp al, 0x62
jne 0x703060c3
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
cmp ecx, dword [esi + 0x14]
mov dword [esi + 0x84], eax
jl 0x70306042
mov dword [esi + 0x38], 1
jmp 0x7030606f
mov ebp, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
sub ebp, eax
mov ebp, dword [edx + ebp*4]
mov dword [edx + ecx*4], ebp
mov ebp, dword [esi + 0xc]
mov edx, edi
sub edx, dword [esi + 0x68]
cmp dword [esp + 0x104], ecx
mov dword [ebp + ecx*4 + 4], edx
jg 0x7030606f
add ecx, 2
mov dword [esp + 0x104], ecx
mov ebp, dword [esi + 0x94]
test ebp, ebp
je 0x703060c3
cmp dword [ebp + 4], eax
jne 0x703060c3
mov eax, dword [ebp]
mov dword [esi + 0x94], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [esi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.702e9140
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x104], ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0x10c], eax
jmp 0x703054b0
mov ecx, dword [esp + 0xf8]
cmp byte [ecx], 0x55
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10c], ebp
je 0x703060e4
cmp edi, dword [esp + 0x20]
jne 0x70307bbb
add ecx, 3
mov dword [esp + 0xf8], ecx
jmp 0x703054b0
cmp dword [esi + 0x3c], edx
je 0x70306101
cmp edi, dword [esi + 0x68]
je 0x70308357
test byte [esp + 0x10c], 2
je case.0x703054da.1
mov eax, dword [esi + 0x68]
cmp edi, eax
je 0x7030617a
cmp edi, dword [esi + 0x6c]
je case.0x7030733f.14
mov ecx, dword [esi + 0x18]
cmp ecx, edx
je 0x70306159
cmp edi, eax
jbe case.0x7030733f.14
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push edi
call fcn.70309f60
add esp, 0x14
test eax, eax
jne 0x7030617a
mov ecx, dword [esp + 0x100]
mov dword [esi + 0x9c], ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esi + 0x1c]
add eax, ecx
cmp edi, eax
jb case.0x7030733f.14
mov eax, edi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [esi + 0x2c]
jne case.0x7030733f.14
cmp ecx, 1
je 0x7030617a
mov al, byte [eax + 1]
cmp al, byte [esi + 0x2d]
jne case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x68]
jne 0x70308226
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ecx, dword [esi + 0x88]
add ecx, dword [esi + 0x68]
cmp edi, ecx
jne 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
inc ebx
mov dword [esp + 0xfc], edi
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
test byte [esp + 0x10c], 2
je 0x70306279
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x70306247
mov ecx, dword [esi + 0x18]
cmp ecx, edx
je 0x70306211
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push edi
call fcn.70309e90
add esp, 0x14
test eax, eax
je case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp edi, eax
ja case.0x7030733f.14
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne case.0x7030733f.14
cmp ecx, 1
je 0x7030626c
mov cl, byte [edi + 1]
cmp cl, byte [esi + 0x2d]
jne case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp dword [esi + 0x40], edx
jne 0x70308226
mov eax, dword [esi + 0x7c]
cmp eax, edx
je 0x7030626c
cmp edi, dword [esi + 0x78]
jbe 0x7030626c
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308643
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp dword [esi + 0x40], edx
jne case.0x7030733f.14
cmp dword [esi + 0x50], edx
je case.0x703054da.23
cmp edi, dword [esi + 0x6c]
jb 0x70308226
mov eax, dword [esi + 0x7c]
cmp eax, edx
je 0x7030626c
cmp edi, dword [esi + 0x78]
jbe 0x7030626c
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308643
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x70306319
mov ecx, dword [esi + 0x18]
lea ebp, [esi + 0x1c]
cmp ecx, edx
je 0x703062e2
push 0
push ebp
push eax
push ecx
push edi
call fcn.70309e90
add esp, 0x14
test eax, eax
je case.0x7030733f.14
jmp 0x7030630b
mov ecx, dword [ebp]
sub eax, ecx
cmp edi, eax
ja case.0x7030733f.14
mov dl, byte [edi]
cmp dl, byte [esi + 0x2c]
jne case.0x7030733f.14
cmp ecx, 1
je 0x7030630b
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
jne case.0x7030733f.14
mov ecx, dword [esi + 0x6c]
sub ecx, dword [ebp]
cmp edi, ecx
jne case.0x7030733f.14
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70306335
cmp edi, dword [esi + 0x78]
jbe 0x70306335
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308684
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x68]
jne 0x7030634b
xor ecx, ecx
jmp 0x70306367
cmp edi, dword [esi + 0x78]
ja 0x70306356
lea eax, [edi - 1]
mov dword [esi + 0x78], eax
movzx ecx, byte [edi - 1]
mov eax, dword [esi + 0x34]
movzx ecx, byte [ecx + eax]
shr ecx, 4
and ecx, 1
cmp edi, dword [esi + 0x6c]
jb 0x7030638c
mov eax, dword [esi + 0x7c]
cmp eax, edx
je 0x70306388
cmp edi, dword [esi + 0x78]
jbe 0x70306388
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308643
xor eax, eax
jmp 0x7030639c
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
movzx eax, byte [eax + edx]
shr eax, 4
and eax, 1
mov dl, byte [ebx]
inc ebx
mov dword [esp + 0xf8], ebx
cmp dl, 5
jne 0x703063b4
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x703063bb
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x703054b0
jmp case.0x7030733f.14
mov ecx, dword [esi + 0x18]
cmp ecx, edx
je 0x703063f3
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae case.0x703054da.13
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push edi
call fcn.70309e90
add esp, 0x14
test eax, eax
jne 0x70308226
jmp case.0x703054da.13
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x6c]
sub ecx, eax
cmp edi, ecx
ja case.0x703054da.13
mov dl, byte [edi]
cmp dl, byte [esi + 0x2c]
jne case.0x703054da.13
cmp eax, 1
je 0x70308226
mov al, byte [edi + 1]
cmp al, byte [esi + 0x2d]
je 0x70308226
mov ecx, edi
inc edi
cmp ecx, dword [esi + 0x6c]
jae 0x7030861f
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov eax, edi
inc edi
cmp eax, dword [esi + 0x6c]
jae 0x70308660
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x703086a1
movzx eax, byte [edi]
mov ecx, dword [esi + 0x34]
inc edi
test byte [eax + ecx], 4
jne 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x703086a1
movzx eax, byte [edi]
mov edx, dword [esi + 0x34]
inc edi
test byte [eax + edx], 4
je 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x703086a1
movzx eax, byte [edi]
mov ecx, dword [esi + 0x34]
inc edi
test byte [eax + ecx], 1
jne 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x703086a1
movzx eax, byte [edi]
mov edx, dword [esi + 0x34]
inc edi
test byte [eax + edx], 1
je 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x703086a1
movzx eax, byte [edi]
mov ecx, dword [esi + 0x34]
inc edi
test byte [eax + ecx], 0x10
jne 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x703086a1
movzx eax, byte [edi]
mov edx, dword [esi + 0x34]
inc edi
test byte [eax + edx], 0x10
je 0x70308357
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x703086a1
movzx eax, byte [edi]
inc edi
cmp eax, 0xd
ja 0x70306574
je 0x7030655d
cmp eax, 0xa
je 0x7030659a
jbe 0x70308357
cmp eax, 0xc
jmp 0x7030658b
cmp edi, ecx
jae 0x7030659a
cmp byte [edi], 0xa
jne 0x7030659a
inc edi
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp eax, 0x85
je 0x70306591
cmp eax, 0x2027
jbe 0x70308357
cmp eax, 0x2029
ja 0x70308357
cmp dword [esi + 0x60], edx
jne case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x70308660
movzx eax, byte [edi]
inc edi
cmp eax, 0x180e
ja 0x703065e3
je case.0x7030733f.14
cmp eax, 0xa0
ja 0x703065dc
je case.0x7030733f.14
cmp eax, 9
je case.0x7030733f.14
cmp eax, 0x20
jmp 0x7030660e
cmp eax, 0x1680
jmp 0x7030660e
cmp eax, 0x205f
ja 0x70306609
je case.0x7030733f.14
cmp eax, 0x2000
jb 0x70306614
cmp eax, 0x200a
jbe case.0x7030733f.14
cmp eax, 0x202f
jmp 0x7030660e
cmp eax, 0x3000
je case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x70308660
movzx eax, byte [edi]
inc edi
cmp eax, 0x180e
ja 0x70306651
je 0x7030667e
cmp eax, 0xa0
ja 0x7030664a
je 0x7030667e
cmp eax, 9
je 0x7030667e
cmp eax, 0x20
jmp 0x70306678
cmp eax, 0x1680
jmp 0x70306678
cmp eax, 0x205f
ja 0x70306673
je 0x7030667e
cmp eax, 0x2000
jb case.0x7030733f.14
cmp eax, 0x200a
jbe 0x7030667e
cmp eax, 0x202f
jmp 0x70306678
cmp eax, 0x3000
jne case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x70308660
movzx eax, byte [edi]
inc edi
cmp eax, 0x85
ja 0x703066af
je case.0x7030733f.14
cmp eax, 0xa
jb 0x703066c1
cmp eax, 0xd
jmp 0x703066bb
cmp eax, 0x2028
jb 0x703066c1
cmp eax, 0x2029
jbe case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
cmp edi, dword [esi + 0x6c]
jae 0x70308660
movzx eax, byte [edi]
inc edi
cmp eax, 0x85
ja 0x703066f2
je 0x70306708
cmp eax, 0xa
jb case.0x7030733f.14
cmp eax, 0xd
jmp 0x70306702
cmp eax, 0x2028
jb case.0x7030733f.14
cmp eax, 0x2029
ja case.0x7030733f.14
inc ebx
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add edx, edx
add ebx, 3
cmp edx, dword [esp + 0x104]
mov dword [esp + 0x20], edx
mov dword [esp + 0xf8], ebx
jge 0x7030674e
mov ecx, dword [esi + 0xc]
lea eax, [ecx + edx*4]
mov ecx, dword [eax]
test ecx, ecx
jl 0x7030674e
mov ebp, dword [eax + 4]
sub ebp, ecx
jmp 0x7030675e
cmp dword [esi + 0x48], 0
je 0x70306758
xor ebp, ebp
jmp 0x7030675e
mov ebp, dword [esi + 0x6c]
sub ebp, edi
inc ebp
mov eax, dword [esp + 0xf8]
mov cl, byte [eax]
movzx eax, cl
lea ebx, [eax - 0x46]
cmp ebx, 7
ja case.default.0x7030677d
movzx ebx, byte [ebx + 0x70309104]
jmp dword [ebx*4 + 0x703090fc]
movsx ebx, byte [eax + 0x70320ce6]
inc dword [esp + 0xf8]
add eax, 0xffffffba
mov ecx, eax
movsx eax, byte [eax + 0x70320d34]
and ecx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x703067fc
mov dword [esp + 0x10], SysReAllocStringLen
jmp 0x703067fc
mov eax, dword [esp + 0xf8]
movzx ebx, byte [eax + 1]
xor edx, edx
cmp cl, 0x4d
movzx ecx, byte [eax + 2]
sete dl
shl ebx, 8
or ebx, ecx
movzx ecx, byte [eax + 3]
shl ecx, 8
mov dword [esp + 0x18], edx
movzx edx, byte [eax + 4]
or ecx, edx
mov dword [esp + 0x10], ecx
jne 0x703067f2
mov dword [esp + 0x10], SysReAllocStringLen
add eax, 5
mov dword [esp + 0xf8], eax
test ebp, ebp
je 0x703054b0
cmp ebx, 1
mov dword [esp + 0x14], 1
jl 0x70306841
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x20]
push eax
push edi
mov ecx, esi
mov eax, ebp
call fcn.703053d0
add esp, 8
test eax, eax
je 0x703086e2
mov eax, dword [esp + 0x14]
inc eax
add edi, ebp
cmp eax, ebx
mov dword [esp + 0x14], eax
jle 0x70306811
mov eax, dword [esp + 0x10]
cmp ebx, eax
je 0x703054b0
cmp dword [esp + 0x18], 0
je 0x70308776
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x104]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x118]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push esi
push eax
mov eax, dword [esp + 0x110]
push ecx
push edx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
lea esp, [esp]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x10]
jge 0x70308357
mov edx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x24]
push edi
mov ecx, esi
mov eax, ebp
call fcn.703053d0
add esp, 8
test eax, eax
je 0x7030872c
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
inc dword [esp + 0x14]
push ebx
push 0
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push esi
push edx
mov edx, dword [esp + 0x110]
push eax
push ecx
push edx
add edi, ebp
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x703068b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x10c]
push ecx
push edi
mov ecx, esi
mov eax, ebp
call fcn.703053d0
add esp, 8
test eax, eax
je 0x70308847
add edi, ebp
jmp 0x703054b0
mov cl, byte [ebx + 0x21]
lea edx, [ebx + 1]
add ebx, 0x21
movzx eax, cl
mov dword [esp + 0x20], edx
lea edx, [eax - 0x46]
mov dword [esp + 0xf8], ebx
cmp edx, 7
ja case.default.0x7030697f
movzx edx, byte [edx + 0x70309114]
jmp dword [edx*4 + 0x7030910c]
movsx ebx, byte [eax + 0x70320cee]
inc dword [esp + 0xf8]
movsx ebp, byte [eax + 0x70320ce6]
add eax, 0xffffffba
mov ecx, eax
and ecx, 1
mov dword [esp + 0x18], ecx
test ebx, ebx
jne 0x703069f9
mov ebx, SysReAllocString
jmp 0x703069f9
xor eax, eax
cmp cl, 0x4d
sete al
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xf8]
movzx ebp, byte [eax + 1]
movzx ebx, byte [eax + 3]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 4]
shl ebp, 8
shl ebx, 8
or ebp, ecx
or ebx, edx
jne 0x703069e6
mov ebx, SysReAllocString
add eax, 5
mov dword [esp + 0xf8], eax
jmp 0x703069f9
mov ebx, 1
mov ebp, ebx
cmp ebp, 1
mov dword [esp + 0x14], 1
jl 0x70306a3e
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx eax, byte [edi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x20]
shr eax, 3
mov al, byte [eax + ecx]
inc edi
test al, dl
je case.0x7030733f.14
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebp
mov dword [esp + 0x14], eax
jle 0x70306a06
cmp ebp, ebx
je 0x703054b0
cmp dword [esp + 0x18], 0
je 0x70308880
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x110]
mov ecx, dword [esp + 0x104]
inc eax
push eax
push 0
push edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
push eax
push ecx
push edi
mov dword [esp + 0x3c], ebp
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
cmp dword [esp + 0x14], ebx
jge 0x70308357
cmp edi, dword [esi + 0x6c]
jae 0x70308870
movzx ebp, byte [edi]
mov eax, dword [esp + 0x20]
mov ecx, ebp
and ecx, 7
mov edx, 1
shl edx, cl
shr ebp, 3
mov cl, byte [eax + ebp]
inc edi
test cl, dl
je 0x70308357
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
inc dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x108]
push 0
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push esi
push edx
mov edx, dword [esp + 0x110]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70306aa6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esi + 0x6c]
sub ecx, edi
cmp ecx, 1
jl 0x70308960
mov dl, byte [edi]
inc edi
cmp byte [ebx + 1], dl
jne case.0x7030733f.14
add ebx, 2
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
mov eax, dword [esi + 0x6c]
sub eax, edi
cmp eax, 1
jl 0x70308960
movzx edx, byte [edi]
mov eax, dword [esi + 0x30]
movzx ecx, byte [ebx + 1]
mov dl, byte [edx + eax]
inc edi
cmp byte [ecx + eax], dl
jne case.0x7030733f.14
add ebx, 2
mov dword [esp + 0xf8], ebx
jmp 0x703054b0
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov eax, ebp
add ebx, 3
jmp 0x70306c1c
mov dword [esp + 0x1c], 1
movzx ebp, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ebp, 8
or ebp, edx
xor edx, edx
xor eax, eax
cmp cl, 0x26
sete dl
add ebx, 3
mov dword [esp + 0x18], edx
jmp 0x70306c1c
xor eax, eax
mov dword [esp + 0x1c], 1
inc ebx
jmp 0x70306c17
mov eax, 1
mov dword [esp + 0x1c], eax
add ebx, eax
jmp 0x70306c17
mov ebp, 1
xor eax, eax
mov dword [esp + 0x1c], ebp
add ebx, ebp
jmp 0x70306c1c
mov ecx, dword [esp + 0x20]
movsx ebp, byte [ecx + 0x70320d15]
add ecx, 0xffffffe1
mov eax, ecx
and eax, 1
inc ebx
mov dword [esp + 0x18], eax
movsx eax, byte [ecx + 0x70320d2c]
test ebp, ebp
jne 0x70306c1c
mov ebp, SysReAllocString
movzx edx, byte [ebx]
inc ebx
test byte [esp + 0x10c], 1
mov dword [esp + 0x10], edx
mov dword [esp + 0xf8], ebx
je 0x70306d48
mov ecx, dword [esi + 0x30]
movzx ecx, byte [edx + ecx]
mov dword [esp + 0x10], ecx
mov ecx, 1
cmp eax, ecx
jl 0x70306c77
lea ecx, [ecx]
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx ebx, byte [edi]
mov edx, dword [esi + 0x30]
movzx ebx, byte [ebx + edx]
mov edx, dword [esp + 0x10]
inc edi
cmp edx, ebx
jne case.0x7030733f.14
inc ecx
cmp ecx, eax
jle 0x70306c50
jmp 0x70306c7b
mov edx, dword [esp + 0x10]
cmp eax, ebp
je 0x703054b0
cmp dword [esp + 0x18], 0
jne 0x70308970
cmp eax, ebp
mov dword [esp + 0x18], edi
jge 0x70306ccd
cmp edi, dword [esi + 0x6c]
jae 0x70306cb1
movzx ebx, byte [edi]
mov ecx, dword [esi + 0x30]
movzx ecx, byte [ebx + ecx]
cmp edx, ecx
jne 0x70306ccd
inc eax
inc edi
cmp eax, ebp
jl 0x70306c96
jmp 0x70306ccd
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70306ccd
cmp edi, dword [esi + 0x78]
jbe 0x70306ccd
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308643
cmp dword [esp + 0x1c], 0
jne 0x703054b0
mov ebx, dword [esp + 0x100]
cmp edi, dword [esp + 0x18]
jb 0x70306d35
mov ebp, dword [esp + 0x118]
inc ebp
lea ecx, [ecx]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x104]
push ebp
push 0
push ecx
mov ecx, dword [esp + 0x108]
push edx
mov edx, dword [esp + 0x108]
push esi
push eax
push ebx
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
dec edi
test eax, eax
jne 0x70308f4b
cmp edi, dword [esp + 0x18]
jae 0x70306cf0
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, 1
cmp eax, ecx
jl 0x70306d6f
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x7030861f
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x10], ebx
jne 0x70308226
inc ecx
cmp ecx, eax
jle 0x70306d54
cmp eax, ebp
je 0x703054b0
cmp dword [esp + 0x18], 0
jne 0x70308a39
cmp eax, ebp
mov edx, edi
mov dword [esp + 0x18], edx
jge 0x70306dc1
mov ecx, dword [esi + 0x6c]
nop
cmp edi, ecx
jae 0x70306da5
movzx ebx, byte [edi]
cmp dword [esp + 0x10], ebx
jne 0x70306dc1
inc eax
inc edi
cmp eax, ebp
jl 0x70306d90
jmp 0x70306dc1
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70306dc1
cmp edi, dword [esi + 0x78]
jbe 0x70306dc1
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x7030870f
cmp dword [esp + 0x1c], 0
jne 0x703054b0
mov ebx, dword [esp + 0x100]
cmp edi, edx
jb 0x70306e35
mov ebp, dword [esp + 0x118]
inc ebp
jmp 0x70306df0
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
push ebp
push 0
push eax
mov eax, dword [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x108]
push esi
push edx
push ebx
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
dec edi
test eax, eax
jne 0x70308f4b
cmp edi, dword [esp + 0x18]
jae 0x70306df0
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
cmp edi, dword [esi + 0x6c]
jae 0x70308960
movzx ecx, byte [edi]
movzx edx, byte [ebx + 1]
inc ebx
inc ebx
inc edi
test byte [esp + 0x10c], 1
mov dword [esp + 0xf8], ebx
je 0x70306e80
mov eax, dword [esi + 0x30]
mov cl, byte [ecx + eax]
cmp byte [edx + eax], cl
jne 0x703054b0
jmp case.0x7030733f.14
cmp edx, ecx
jne 0x703054b0
mov edx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], edx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov eax, ebp
add ebx, 3
jmp 0x70306f4f
movzx ebp, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ebp, 8
or ebp, edx
xor edx, edx
xor eax, eax
cmp cl, 0x33
sete dl
add ebx, 3
mov dword [esp + 0x18], edx
jmp 0x70306f4f
xor eax, eax
mov dword [esp + 0x1c], 1
inc ebx
jmp 0x70306f4a
mov eax, 1
mov dword [esp + 0x1c], eax
add ebx, eax
jmp 0x70306f4a
mov ebp, 1
xor eax, eax
mov dword [esp + 0x1c], ebp
add ebx, ebp
jmp 0x70306f4f
movzx ebp, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl ebp, 8
xor eax, eax
or ebp, ecx
mov dword [esp + 0x1c], 1
add ebx, 3
jmp 0x70306f4f
mov ecx, dword [esp + 0x20]
movsx ebp, byte [ecx + 0x70320d08]
add ecx, 0xffffffd4
mov eax, ecx
and eax, 1
inc ebx
mov dword [esp + 0x18], eax
movsx eax, byte [ecx + 0x70320d2c]
test ebp, ebp
jne 0x70306f4f
mov ebp, SysReAllocString
movzx edx, byte [ebx]
inc ebx
test byte [esp + 0x10c], 1
mov dword [esp + 0x10], edx
mov dword [esp + 0xf8], ebx
je 0x70307079
mov ecx, dword [esi + 0x30]
movzx edx, byte [edx + ecx]
mov ecx, 1
cmp eax, ecx
mov dword [esp + 0x10], edx
jl 0x70306fa7
cmp edi, dword [esi + 0x6c]
jae 0x7030861f
movzx ebx, byte [edi]
mov edx, dword [esi + 0x30]
movzx ebx, byte [ebx + edx]
mov edx, dword [esp + 0x10]
inc edi
cmp edx, ebx
je 0x70308226
inc ecx
cmp ecx, eax
jle 0x70306f80
jmp 0x70306fab
mov edx, dword [esp + 0x10]
cmp eax, ebp
je 0x703054b0
cmp dword [esp + 0x18], 0
jne 0x70308b01
cmp eax, ebp
mov dword [esp + 0x18], edi
jge 0x70306ffd
cmp edi, dword [esi + 0x6c]
jae 0x70306fe1
movzx ebx, byte [edi]
mov ecx, dword [esi + 0x30]
movzx ecx, byte [ebx + ecx]
cmp edx, ecx
je 0x70306ffd
inc eax
inc edi
cmp eax, ebp
jl 0x70306fc6
jmp 0x70306ffd
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70306ffd
cmp edi, dword [esi + 0x78]
jbe 0x70306ffd
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308759
cmp dword [esp + 0x1c], 0
jne 0x703054b0
mov ebx, dword [esp + 0x100]
cmp edi, dword [esp + 0x18]
jb 0x70307066
mov ebp, dword [esp + 0x118]
inc ebp
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x104]
push ebp
push 0
push edx
mov edx, dword [esp + 0x108]
push eax
mov eax, dword [esp + 0x108]
push esi
push ecx
push ebx
push edx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
dec edi
cmp edi, dword [esp + 0x18]
jae 0x70307021
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov ecx, 1
cmp eax, ecx
jl 0x703070a0
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x70308870
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x10], ebx
je 0x70308357
inc ecx
cmp ecx, eax
jle 0x70307085
cmp eax, ebp
je 0x703054b0
cmp dword [esp + 0x18], 0
jne 0x70308bca
cmp eax, ebp
mov edx, edi
mov dword [esp + 0x18], edx
jge 0x703070f1
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x703070d5
movzx ebx, byte [edi]
cmp dword [esp + 0x10], ebx
je 0x703070f1
inc eax
inc edi
cmp eax, ebp
jl 0x703070c0
jmp 0x703070f1
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x703070f1
cmp edi, dword [esi + 0x78]
jbe 0x703070f1
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308643
cmp dword [esp + 0x1c], 0
jne 0x703054b0
mov ebx, dword [esp + 0x100]
cmp edi, edx
jb 0x70307165
mov ebp, dword [esp + 0x118]
inc ebp
jmp 0x70307120
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x104]
push ebp
push 0
push ecx
mov ecx, dword [esp + 0x108]
push edx
mov edx, dword [esp + 0x108]
push esi
push eax
push ebx
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
dec edi
cmp edi, dword [esp + 0x18]
jae 0x70307120
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
movzx ebp, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ebp, 8
or ebp, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], 1
add ebx, 3
jmp 0x70307245
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x10], eax
xor eax, eax
xor ebp, ebp
cmp cl, 0x40
sete al
add ebx, 3
mov dword [esp + 0x18], eax
jmp 0x70307245
xor ebp, ebp
mov dword [esp + 0x1c], 1
inc ebx
jmp 0x7030723d
mov ebp, 1
mov dword [esp + 0x1c], ebp
add ebx, ebp
jmp 0x7030723d
mov eax, 1
xor ebp, ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
add ebx, eax
jmp 0x70307245
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
xor ebp, ebp
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], eax
add ebx, 3
jmp 0x70307245
mov eax, dword [esp + 0x20]
movsx ebp, byte [eax + 0x70320cf3]
add eax, 0xffffffc7
mov ecx, eax
movsx eax, byte [eax + 0x70320d34]
and ecx, 1
inc ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x70307245
mov dword [esp + 0x10], SysReAllocStringLen
movzx eax, byte [ebx]
mov ecx, 1
add ebx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0xf8], ebx
test ebp, ebp
jle 0x70307583
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x70308daf.15
jmp dword [eax*4 + 0x7030911c]
cmp ebp, ecx
mov dword [esp + 0x14], ecx
jl 0x70307583
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x7030861f
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x703072ae
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push edi
call fcn.70309e90
add esp, 0x14
test eax, eax
jne 0x70308226
jmp 0x703072d3
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp edi, eax
ja 0x703072d3
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x703072d3
cmp ecx, 1
je 0x70308226
mov cl, byte [edi + 1]
cmp cl, byte [esi + 0x2d]
je 0x70308226
mov eax, dword [esp + 0x14]
inc eax
inc edi
cmp eax, ebp
mov dword [esp + 0x14], eax
jle 0x70307281
jmp 0x70307583
mov edx, dword [esi + 0x6c]
sub edx, ebp
cmp edi, edx
ja 0x70308c91
add edi, ebp
jmp 0x70307583
mov eax, dword [esi + 0x6c]
sub eax, ebp
cmp edi, eax
ja 0x70308caf
add edi, ebp
jmp 0x70307583
cmp ebp, ecx
jl 0x70307583
mov edx, dword [esi + 0x6c]
lea esp, [esp]
cmp edi, edx
jae 0x70308870
movzx eax, byte [edi]
sub eax, 0xa
inc edi
cmp eax, 0x7b
ja case.0x7030733f.14
movzx eax, byte [eax + 0x7030916c]
jmp dword [eax*4 + 0x7030915c]
cmp edi, edx
jae case.0x7030733f.10
cmp byte [edi], 0xa
jne case.0x7030733f.10
inc edi
jmp case.0x7030733f.10
cmp dword [esi + 0x60], 0
jne 0x70308357
inc ecx
cmp ecx, ebp
jle 0x70307320
jmp 0x70307583
cmp ebp, ecx
jl 0x70307583
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x70308860
movzx eax, byte [edi]
inc edi
cmp eax, 9
je case.0x7030733f.14
cmp eax, 0x20
je case.0x7030733f.14
cmp eax, 0xa0
je case.0x7030733f.14
inc ecx
cmp ecx, ebp
jle 0x70307371
jmp 0x70307583
cmp ebp, ecx
jl 0x70307583
mov edx, dword [esi + 0x6c]
nop
cmp edi, edx
jae 0x70308860
movzx eax, byte [edi]
inc edi
cmp eax, 9
je 0x703073d1
cmp eax, 0x20
je 0x703073d1
cmp eax, 0xa0
jne case.0x7030733f.14
inc ecx
cmp ecx, ebp
jle 0x703073b0
jmp 0x70307583
cmp ebp, ecx
jl 0x70307583
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x70308860
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x7030740b
cmp eax, 0xd
jle case.0x7030733f.14
cmp eax, 0x85
je case.0x7030733f.14
inc ecx
cmp ecx, ebp
jle 0x703073e6
jmp 0x70307583
cmp ebp, ecx
jl 0x70307583
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x70308860
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl case.0x7030733f.14
cmp eax, 0xd
jle 0x70307445
cmp eax, 0x85
jne case.0x7030733f.14
inc ecx
cmp ecx, ebp
jle 0x70307420
jmp 0x70307583
cmp ebp, ecx
mov eax, ecx
jl 0x70307583
lea esp, [esp]
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx ecx, byte [edi]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
and cl, 4
inc edi
test cl, cl
jne case.0x7030733f.14
inc eax
cmp eax, ebp
jle 0x70307460
jmp 0x70307583
cmp ebp, ecx
mov eax, ecx
jl 0x70307583
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx edx, byte [edi]
mov ecx, dword [esi + 0x34]
mov dl, byte [edx + ecx]
and dl, 4
inc edi
test dl, dl
je case.0x7030733f.14
inc eax
cmp eax, ebp
jle 0x70307492
jmp 0x70307583
cmp ebp, ecx
mov eax, ecx
jl 0x70307583
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx ecx, byte [edi]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
and cl, 1
inc edi
test cl, cl
jne case.0x7030733f.14
inc eax
cmp eax, ebp
jle 0x703074c4
jmp 0x70307583
cmp ebp, ecx
mov eax, ecx
jl 0x70307583
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx edx, byte [edi]
mov ecx, dword [esi + 0x34]
mov dl, byte [edx + ecx]
and dl, 1
inc edi
test dl, dl
je case.0x7030733f.14
inc eax
cmp eax, ebp
jle 0x703074f6
jmp 0x70307583
cmp ebp, ecx
mov eax, ecx
jl 0x70307583
jmp 0x70307530
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx ecx, byte [edi]
mov edx, dword [esi + 0x34]
mov cl, byte [ecx + edx]
and cl, 0x10
inc edi
test cl, cl
jne case.0x7030733f.14
inc eax
cmp eax, ebp
jle 0x70307530
jmp 0x70307583
cmp ebp, ecx
mov eax, ecx
jl 0x70307583
jmp 0x70307560
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx edx, byte [edi]
mov ecx, dword [esi + 0x34]
mov dl, byte [edx + ecx]
and dl, 0x10
inc edi
test dl, dl
je case.0x7030733f.14
inc eax
cmp eax, ebp
jle 0x70307560
mov edx, dword [esp + 0x10]
cmp ebp, edx
je 0x703054b0
cmp dword [esp + 0x18], 0
jne 0x70308cdd
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
mov dword [esp + 0x18], edi
cmp eax, 0xf
ja case.0x70308daf.15
jmp dword [eax*4 + 0x703091e8]
cmp ebp, edx
jge 0x70307914
lea ecx, [ecx]
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x703078f8
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x703075f1
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push edi
call fcn.70309e90
add esp, 0x14
test eax, eax
jne 0x70307914
mov edx, dword [esp + 0x10]
jmp 0x70307616
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp edi, eax
ja 0x70307616
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x70307616
cmp ecx, 1
je 0x70307914
mov cl, byte [edi + 1]
cmp cl, byte [esi + 0x2d]
je 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x703075c0
jmp 0x70307914
mov eax, dword [esi + 0x6c]
sub edx, ebp
mov ecx, edx
mov edx, eax
sub edx, edi
cmp ecx, edx
jbe 0x7030765b
mov edi, eax
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70307914
cmp edi, dword [esi + 0x78]
jbe 0x70307914
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308643
jmp 0x70307914
add edi, ecx
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov ecx, dword [esi + 0x6c]
lea ecx, [ecx]
cmp edi, ecx
jae 0x703076bf
movzx eax, byte [edi]
cmp eax, 0xd
jne 0x70307690
inc edi
cmp edi, ecx
jae 0x70307914
cmp byte [edi], 0xa
jne 0x703076b5
jmp 0x703076b4
cmp eax, 0xa
je 0x703076b4
cmp dword [esi + 0x60], 0
jne 0x70307914
cmp eax, 0xb
je 0x703076b4
cmp eax, 0xc
je 0x703076b4
cmp eax, 0x85
jne 0x70307914
inc edi
inc ebp
cmp ebp, edx
jl 0x70307670
jmp 0x70307914
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70307914
cmp edi, dword [esi + 0x78]
jbe 0x70307914
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308759
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x703078f8
movzx eax, byte [edi]
cmp eax, 9
je 0x70307914
cmp eax, 0x20
je 0x70307914
cmp eax, 0xa0
je 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x703076f3
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x70307632
movzx eax, byte [edi]
cmp eax, 9
je 0x70307751
cmp eax, 0x20
je 0x70307751
cmp eax, 0xa0
jne 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x70307731
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x703076bf
movzx eax, byte [edi]
cmp eax, 0xa
je 0x70307914
cmp eax, 0xb
je 0x70307914
cmp eax, 0xc
je 0x70307914
cmp eax, 0xd
je 0x70307914
cmp eax, 0x85
je 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x70307767
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x703078f8
movzx eax, byte [edi]
cmp eax, 0xa
je 0x703077e1
cmp eax, 0xb
je 0x703077e1
cmp eax, 0xc
je 0x703077e1
cmp eax, 0xd
je 0x703077e1
cmp eax, 0x85
jne 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x703077b7
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x70307632
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x34]
test byte [ecx + ebx], 4
jne 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x703077f7
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x703076bf
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x34]
test byte [ecx + ebx], 4
je 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x70307825
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x703078f8
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x34]
test byte [ecx + ebx], 1
jne 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x70307853
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x70307632
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x34]
test byte [ecx + ebx], 1
je 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x70307881
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov eax, dword [esi + 0x6c]
nop
cmp edi, eax
jae 0x703076bf
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x34]
test byte [ecx + ebx], 0x10
jne 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x703078b0
jmp 0x70307914
cmp ebp, edx
jge 0x70307914
mov eax, dword [esi + 0x6c]
mov edi, edi
cmp edi, eax
jae 0x703078f8
movzx ecx, byte [edi]
mov ebx, dword [esi + 0x34]
test byte [ecx + ebx], 0x10
je 0x70307914
inc ebp
inc edi
cmp ebp, edx
jl 0x703078e0
jmp 0x70307914
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70307914
cmp edi, dword [esi + 0x78]
jbe 0x70307914
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x7030870f
cmp dword [esp + 0x1c], 0
jne 0x703054b0
mov ebx, dword [esp + 0x100]
cmp edi, dword [esp + 0x18]
jb 0x70307985
mov ebp, dword [esp + 0x118]
inc ebp
jmp 0x70307940
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
push ebp
push 0
push eax
mov eax, dword [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x108]
push esi
push edx
push ebx
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
dec edi
test eax, eax
jne 0x70308f4b
cmp edi, dword [esp + 0x18]
jae 0x70307940
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl edx, 8
or edx, eax
cmp byte [ebx + edx + 3], 0x54
lea ebx, [ebx + edx + 3]
jne 0x703079c4
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x703079b0
add ebx, 3
cmp dword [esp + 0x20], 0x63
mov dword [esp + 0xf8], ebx
je 0x703082a9
mov ebx, dword [esp + 0x110]
jmp 0x70307c7a
mov eax, dword [esp + 0xf8]
movzx ebp, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ebp, 8
or ebp, eax
lea ebx, [ebp + ebp]
cmp ebx, dword [esi + 0x14]
jl 0x703080f7
xor eax, eax
cmp dword [esp + 0x20], 0x61
mov ebx, dword [esp + 0x110]
setl al
dec eax
and eax, 2
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xf8]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
cmp byte [ecx + eax], 0x54
jne 0x70307ae3
mov eax, dword [esp + 0x118]
inc eax
mov dword [esp + 0x1c], eax
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x10c]
mov ebp, dword [esp + 0xf8]
push ecx
mov ecx, dword [esp + 0x108]
push edx
mov edx, dword [esp + 0x108]
push ebx
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
movzx ecx, byte [ebp]
push edx
movzx edx, byte [ecx + 0x70320d40]
push eax
add edx, ebp
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70307ab5
cmp eax, 0xfffffc1e
jne 0x70308f4b
cmp dword [esi + 0x70], ebp
jne 0x70308f4b
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
movzx edx, byte [ebp + eax + 1]
add ebp, eax
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
cmp byte [edx + ebp], 0x54
mov dword [esp + 0xf8], ebp
je 0x70307a50
cmp dword [esp + 0x114], 0
jne 0x70308240
mov eax, dword [esp + 0xf8]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x70320d40]
add eax, edx
mov dword [esp + 0xf8], eax
jmp 0x70307c85
cmp byte [ebp + 3], 0x19
lea ecx, [ebp + 3]
mov dword [esp + 0x24], ecx
jne 0x70307b34
mov edx, dword [esp + 0x10c]
movzx ecx, byte [ebp + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x10c]
inc ecx
cmp byte [ebp], 0x57
push ecx
mov ecx, dword [esp + 0x100]
jne 0x70307b86
push 0
push ebx
push edx
mov edx, dword [esp + 0x34]
push esi
push eax
mov eax, dword [esp + 0x118]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf8], eax
jmp 0x70307c7a
push 2
push ebx
push edx
mov edx, dword [esp + 0x20]
push esi
push eax
mov eax, dword [esp + 0x118]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
mov eax, dword [esp + 0x24]
mov dword [esp + 0xf8], eax
jmp 0x70307c7a
mov edx, dword [esp + 0x10]
cmp byte [edx], 0x61
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x118]
inc eax
cmp byte [ecx], 0x57
push eax
jne 0x70307c39
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0x100]
push 0
push ebx
push ebp
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
push eax
add ecx, 3
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
cmp dword [esp + 0x114], eax
jne 0x703085a3
mov edx, dword [esp + 0x10]
mov dword [esp + 0xf8], edx
jmp 0x70307c85
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
push ecx
mov ecx, dword [esp + 0x104]
push ebx
push ebp
push esi
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
add dword [esp + 0xf8], 3
mov dword [esp + 0x114], 0
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x70305470
inc dword [esi]
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0xe0
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
inc ecx
push ecx
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x108]
push ecx
movzx ecx, byte [ebx]
push esi
push edx
movzx edx, byte [ecx + 0x70320d40]
lea ebp, [ebx + 2]
push ebp
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push edi
call fcn.70305440
add esp, 0x28
cmp eax, 0xfffffc1d
jne 0x70307d50
mov edx, dword [esi + 0x70]
mov ecx, ebp
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x70307d34
test bl, bl
je 0x70307d30
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x70307d34
add ecx, 2
add edx, 2
test bl, bl
jne 0x70307d14
xor ecx, ecx
jmp 0x70307d39
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x70307d50
mov dword [esi + 0x70], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0xe0
ret
cmp dword [esi + 0x9c], 0
jne 0x70308f4b
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov ebp, dword [esp + 0x100]
inc edx
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x108]
push edx
movzx edx, byte [ebx]
push esi
push eax
movzx eax, byte [edx + 0x70320d40]
push ebp
push ecx
add eax, ebx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70307de2
cmp eax, 0xfffffc1b
je 0x70307de2
cmp eax, 0xfffffc1c
je 0x70307de2
cmp eax, 0xfffffc1d
je 0x70307de2
cmp eax, 0xfffffc1e
jne 0x70308f4b
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ebp, dword [esp + 0x100]
inc ecx
push ecx
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x108]
push ecx
movzx ecx, byte [ebx]
push esi
push edx
movzx edx, byte [ecx + 0x70320d40]
push ebp
push eax
add edx, ebx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70307e57
cmp eax, 0xfffffc1e
jne 0x70308f4b
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
inc eax
push eax
mov eax, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x70320d40]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70307ed2
cmp eax, 0xfffffc1e
jne 0x70308f4b
add ebx, 2
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ebp, dword [esp + 0x100]
inc ecx
push ecx
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x108]
push ecx
movzx ecx, byte [ebx]
push esi
push edx
movzx edx, byte [ecx + 0x70320d40]
push ebp
push eax
add edx, ebx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70307f51
cmp eax, 0xfffffc1b
je 0x70307f51
cmp eax, 0xfffffc1e
jne 0x70308f4b
mov dword [esi + 0x70], edi
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x110]
inc eax
push eax
mov eax, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x70320d40]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70307fd6
cmp eax, 0xfffffc1b
je 0x70307fd6
cmp eax, 0xfffffc1e
jne 0x70308f4b
add ebx, 2
pop edi
mov dword [esi + 0x70], ebx
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov ebp, dword [esp + 0x100]
inc ecx
push ecx
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x108]
push ecx
movzx ecx, byte [ebx]
push esi
push edx
movzx edx, byte [ecx + 0x70320d40]
push ebp
push eax
add edx, ebx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
sub ebx, eax
pop edi
mov dword [esi + 0x70], ebx
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0xe0
ret
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
inc edx
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push esi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x70320d40]
push edx
movzx edx, byte [ebx + 3]
add ecx, ebx
add edx, ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov edx, ebx
sub edx, eax
add ebx, 4
pop edi
mov dword [esi + 0x9c], ebx
mov dword [esi + 0x70], edx
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ebx*4]
mov edx, dword [eax + ebx*4 + 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x10]
sub ecx, ebp
lea eax, [eax + ecx*4]
mov ecx, dword [esi + 0x84]
mov dword [esp + 0x18], edx
mov edx, dword [eax]
mov dword [esp + 0x14], edx
mov edx, edi
sub edx, dword [esi + 0x68]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x118]
mov dword [eax], edx
xor eax, eax
cmp dword [esp + 0x20], 0x62
setne al
dec eax
and eax, 2
inc ecx
mov dword [esp + 0x114], eax
mov dword [esp + 0x1c], ecx
lea esp, [esp]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push esi
push eax
mov eax, dword [esp + 0x110]
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x70320d40]
add edx, eax
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x703081c4
cmp eax, 0xfffffc1e
jne 0x70308f4b
mov ecx, dword [esp + 0xf8]
cmp dword [esi + 0x70], ecx
jne 0x70308f4b
jmp 0x703081cb
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x24]
mov dword [esi + 0x84], edx
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0xf8]
add ecx, edx
cmp byte [ecx], 0x54
mov dword [esp + 0xf8], ecx
je 0x70308150
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [edx + ebx*4], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [edx + ebx*4 + 4], ecx
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub edx, ebp
mov dword [ecx + edx*4], edi
cmp eax, 0xfffffc1e
je 0x70308233
mov edx, dword [esp + 0x100]
mov dword [esi + 0x9c], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x10c]
inc eax
push eax
mov eax, dword [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x104]
push ebx
mov ebx, dword [esp + 0x10c]
push edx
push esi
push eax
mov eax, dword [esp + 0x110]
movzx edx, byte [eax]
push ebx
push ecx
movzx ecx, byte [edx + 0x70320d40]
add ecx, eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
pop edi
mov dword [esi + 0x9c], ebx
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
inc eax
push eax
mov eax, dword [esp + 0x108]
push 2
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push esi
push eax
push ecx
push edx
push ebx
push edi
call fcn.70305440
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0xfc]
cmp edi, eax
jne 0x7030831e
cmp dword [esi + 0x54], 0
jne 0x70308226
cmp dword [esi + 0x58], 0
je 0x7030831e
mov ecx, dword [esi + 0x88]
add ecx, dword [esi + 0x68]
cmp eax, ecx
je 0x70308226
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
mov dword [esi + 0x70], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x74], edi
neg eax
pop edi
mov dword [esi + 0x80], ecx
mov dword [esi + 0x9c], edx
sbb eax, eax
pop esi
and eax, 0xfffffc18
pop ebp
inc eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], eax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
movzx ebp, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
mov eax, dword [esi + 0x64]
shl ebp, 8
or ebp, ecx
add ebp, eax
cmp ebp, eax
jne 0x70308391
mov dword [esp + 0x2c], 0
jmp 0x703083a2
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x2c], edx
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x10]
add ebx, 3
cmp ecx, 0x1e
lea edx, [esp + 0x28]
mov dword [esi + 0x94], edx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ecx
jg 0x703083da
lea eax, [esp + 0x78]
mov dword [esp + 0x34], eax
jmp 0x70308407
lea eax, [ecx*4]
push eax
call dword [sym.safemon.dll_pcre_malloc]
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
jne 0x70308403
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0xe0
ret
mov ecx, dword [esp + 0x38]
mov edx, dword [esi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.702e9140
mov eax, dword [esp + 0x110]
mov dword [esp + 0x48], eax
mov al, byte [ebp]
add esp, 0xc
cmp al, 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x118]
inc ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x114]
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x110]
push esi
push edx
mov edx, dword [esp + 0x114]
push ecx
movzx eax, al
movzx ecx, byte [eax + 0x70320d40]
push edx
add ecx, ebp
push ecx
push edi
call fcn.70305440
mov ebx, eax
add esp, 0x28
cmp ebx, 1
je 0x70308566
cmp ebx, 0xfffffc19
je 0x70308566
test ebx, ebx
je 0x703084c7
cmp ebx, 0xfffffc1e
jne 0x70308543
mov edx, dword [esp + 0xf8]
cmp dword [esi + 0x70], edx
jne 0x70308543
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x28]
lea edx, [ecx*4]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x94], eax
mov eax, dword [esp + 0x34]
push edx
push eax
push ecx
call fcn.702e9140
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov al, byte [ebp + edx]
add ebp, edx
add esp, 0xc
cmp al, 0x54
je 0x70308444
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x78]
mov dword [esi + 0x94], edx
cmp eax, ecx
je 0x70308529
push eax
call dword [sym.safemon.dll_pcre_free]
add esp, 4
mov edx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], edx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x78]
cmp eax, ecx
je 0x70308559
push eax
call dword [sym.safemon.dll_pcre_free]
add esp, 4
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x28]
mov dword [esi + 0x94], eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x78]
cmp eax, ecx
je 0x70308586
push eax
call dword [sym.safemon.dll_pcre_free]
add esp, 4
mov edx, dword [esp + 0x100]
mov dword [esi + 0x9c], edx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x104]
inc eax
push eax
mov eax, dword [esp + 0x104]
push ecx
mov ecx, dword [esp + 0x104]
push ebx
push ebp
push esi
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x100]
mov dword [esi + 0x74], edi
pop edi
mov dword [esi + 0x80], eax
mov dword [esi + 0x70], ecx
mov dword [esi + 0x9c], edx
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
test eax, eax
je case.0x7030733f.14
cmp edi, dword [esi + 0x78]
jbe case.0x7030733f.14
mov dword [esi + 0x5c], 1
cmp eax, 1
jle case.0x7030733f.14
mov eax, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], eax
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
cmp eax, edx
je 0x70308357
cmp edi, dword [esi + 0x78]
jbe 0x70308357
cmp eax, 1
mov dword [esi + 0x5c], 1
jle 0x70308357
mov edx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], edx
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
cmp eax, edx
je 0x70308226
cmp edi, dword [esi + 0x78]
jbe 0x70308226
cmp eax, 1
mov dword [esi + 0x5c], 1
jle 0x70308226
mov ecx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], ecx
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70308357
cmp edi, dword [esi + 0x6c]
jb 0x70308357
cmp edi, dword [esi + 0x78]
jbe 0x70308357
mov dword [esi + 0x5c], 1
cmp eax, 1
jle 0x70308357
mov edx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], edx
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70308226
cmp edi, dword [esi + 0x6c]
jb 0x70308226
cmp edi, dword [esi + 0x78]
jbe 0x70308226
cmp eax, 1
mov dword [esi + 0x5c], 1
jle 0x70308226
mov ecx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], ecx
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0xe0
ret
cmp ebx, eax
mov dword [esp + 0x18], edi
jge 0x703087d1
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x20]
push eax
push edi
mov ecx, esi
mov eax, ebp
call fcn.703053d0
add esp, 8
test eax, eax
je 0x703087aa
inc ebx
add edi, ebp
cmp ebx, dword [esp + 0x10]
jl 0x70308782
jmp 0x703087c7
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x703087c7
cmp edi, dword [esi + 0x6c]
jb 0x703087c7
cmp edi, dword [esi + 0x78]
jbe 0x703087c7
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x70308759
cmp edi, dword [esp + 0x18]
jb 0x7030882d
mov ebx, dword [esp + 0x118]
inc ebx
lea esp, [esp]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x104]
push ebx
push 0
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
sub edi, ebp
cmp edi, dword [esp + 0x18]
jae 0x703087e0
mov edx, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], edx
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
test eax, eax
je case.0x7030733f.14
cmp edi, dword [esi + 0x6c]
jb case.0x7030733f.14
jmp 0x7030862a
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70308357
jmp 0x703086f6
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70308226
jmp 0x70308740
cmp ebp, ebx
mov dword [esp + 0x18], edi
mov eax, ebp
jge 0x703088e0
mov edi, edi
cmp edi, dword [esi + 0x6c]
jae 0x703088ba
movzx ebp, byte [edi]
mov ecx, ebp
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x20]
shr ebp, 3
mov cl, byte [ecx + ebp]
test cl, dl
je 0x703088d6
inc eax
inc edi
cmp eax, ebx
jl 0x70308890
jmp 0x703088d6
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x703088d6
cmp edi, dword [esi + 0x78]
jbe 0x703088d6
cmp eax, 1
mov dword [esi + 0x5c], 1
jg 0x7030870f
cmp edi, dword [esp + 0x18]
jb 0x70308946
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x100]
inc ebx
nop
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
push ebx
push 0
push eax
mov eax, dword [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x108]
push esi
push edx
push ebp
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
dec edi
cmp edi, dword [esp + 0x18]
jae 0x703088f0
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov ebp, dword [esp + 0x100]
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
cmp eax, edx
je 0x70308357
jmp 0x703086f6
mov ebx, dword [esp + 0x118]
mov edx, dword [esp + 0x110]
mov ecx, dword [esp + 0x104]
inc ebx
push ebx
push 0
push edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
cmp dword [esp + 0x14], ebp
jge 0x70308226
cmp edi, dword [esi + 0x6c]
jae 0x7030861f
movzx edx, byte [edi]
mov eax, dword [esi + 0x30]
movzx ecx, byte [edx + eax]
inc edi
cmp dword [esp + 0x10], ecx
jne 0x70308226
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x104]
inc dword [esp + 0x14]
push ebx
push 0
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x703089c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov ebx, dword [esp + 0x118]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
inc ebx
push ebx
push 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push esi
push edx
mov edx, dword [esp + 0x110]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
lea ebx, [ebx]
cmp dword [esp + 0x14], ebp
jge case.0x7030733f.14
cmp edi, dword [esi + 0x6c]
jae 0x70308860
movzx eax, byte [edi]
inc edi
cmp dword [esp + 0x10], eax
jne case.0x7030733f.14
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x104]
inc dword [esp + 0x14]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push esi
push eax
mov eax, dword [esp + 0x110]
push ecx
push edx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70308a90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov ebx, dword [esp + 0x118]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
inc ebx
push ebx
push 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push esi
push edx
mov edx, dword [esp + 0x110]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
cmp dword [esp + 0x14], ebp
jge 0x70308357
cmp edi, dword [esi + 0x6c]
jae 0x70308870
movzx eax, byte [edi]
mov ecx, dword [esi + 0x30]
movzx edx, byte [eax + ecx]
inc edi
cmp dword [esp + 0x10], edx
je 0x70308357
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x104]
inc dword [esp + 0x14]
push ebx
push 0
push eax
mov eax, dword [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x10c]
push esi
push edx
mov edx, dword [esp + 0x110]
push eax
push ecx
push edx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70308b52
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov ebx, dword [esp + 0x118]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x10c]
push esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x118]
push eax
mov eax, dword [esp + 0x110]
push ecx
push edx
push eax
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
jmp 0x70308c20
cmp dword [esp + 0x14], ebp
jge 0x70308226
cmp edi, dword [esi + 0x6c]
jae 0x7030861f
movzx ecx, byte [edi]
inc edi
cmp dword [esp + 0x10], ecx
je 0x70308226
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x104]
inc dword [esp + 0x14]
push ebx
push 0
push edx
mov edx, dword [esp + 0x10c]
push eax
mov eax, dword [esp + 0x10c]
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
push eax
push ecx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70308c20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
test eax, eax
je case.0x7030733f.14
cmp edi, dword [esi + 0x78]
jbe case.0x7030733f.14
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jmp 0x7030863d
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x70308357
cmp edi, dword [esi + 0x78]
jbe 0x70308357
mov dword [esi + 0x5c], ecx
cmp eax, ecx
jmp 0x70308709
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0xe0
ret
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x110]
mov ecx, dword [esp + 0x104]
inc eax
push eax
push 0
push edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x118]
push eax
push esi
push ecx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x118]
push ebp
push edx
push ebx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
jne 0x70308f4b
jmp 0x70308d30
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jge case.0x70308dc9.14
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x70308f0c
cmp dword [esp + 0x20], 0xc
jne 0x70308d9b
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x70308d76
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push edi
call fcn.70309e90
add esp, 0x14
test eax, eax
jne case.0x70308dc9.14
jmp 0x70308d9b
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp edi, eax
ja 0x70308d9b
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x70308d9b
cmp ecx, 1
je case.0x70308dc9.14
mov cl, byte [edi + 1]
cmp cl, byte [esi + 0x2d]
je case.0x70308dc9.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [edi]
add ecx, 0xfffffffa
inc edi
cmp ecx, 0xf
ja case.0x70308daf.15
jmp dword [ecx*4 + 0x70309228]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x70308dc9.14
movzx edx, byte [eax + 0x70309278]
jmp dword [edx*4 + 0x70309268]
cmp edi, dword [esi + 0x6c]
jae case.0x70308daf.12
cmp byte [edi], 0xa
jne case.0x70308daf.12
inc edi
jmp case.0x70308daf.12
cmp dword [esi + 0x60], 0
jne case.0x70308dc9.14
jmp case.0x70308daf.12
cmp eax, 9
je case.0x70308dc9.14
cmp eax, 0x20
je case.0x70308dc9.14
cmp eax, 0xa0
jmp 0x70308ebc
cmp eax, 9
je case.0x70308daf.12
cmp eax, 0x20
je case.0x70308daf.12
cmp eax, 0xa0
jne case.0x70308dc9.14
jmp case.0x70308daf.12
cmp eax, 0xa
jb case.0x70308daf.12
cmp eax, 0xd
jbe case.0x70308dc9.14
cmp eax, 0x85
jmp 0x70308ebc
cmp eax, 0xa
jb case.0x70308dc9.14
cmp eax, 0xd
jbe case.0x70308daf.12
cmp eax, 0x85
jne case.0x70308dc9.14
jmp case.0x70308daf.12
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 4
jne case.0x70308dc9.14
jmp case.0x70308daf.12
mov edx, dword [esi + 0x34]
test byte [eax + edx], 4
jmp 0x70308ebc
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 1
jne case.0x70308dc9.14
jmp case.0x70308daf.12
mov edx, dword [esi + 0x34]
test byte [eax + edx], 1
jmp 0x70308ebc
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x70308dc9.14
jmp case.0x70308daf.12
mov edx, dword [esi + 0x34]
test byte [eax + edx], 0x10
je case.0x70308dc9.14
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x10c]
inc dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x108]
push 0
push ecx
mov ecx, dword [esp + 0x108]
push edx
push esi
push eax
push ebp
push ecx
push ebx
push edi
call fcn.70305440
add esp, 0x28
test eax, eax
je 0x70308d30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret
mov eax, dword [esi + 0x7c]
test eax, eax
je case.0x70308dc9.14
cmp edi, dword [esi + 0x78]
jbe case.0x70308dc9.14
cmp eax, 1
mov dword [esi + 0x5c], 1
jle case.0x70308dc9.14
pop edi
mov dword [esi + 0x9c], ebp
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0xe0
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0
ret