Function at 0x100796e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2a8
mov eax, dword [0x101c3584]
xor eax, esp
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x2ac]
push ebx
push ebp
mov ebp, ecx
mov ecx, dword [ebp + 0x2cc]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x2c8]
lea edx, [eax + eax*2]
mov dword [esp + 0x40], edx
mov edx, eax
sar edx, 3
mov dword [esp + 0x4c], edx
mov edx, ecx
and eax, 7
and ecx, 7
push esi
mov esi, dword [esp + 0x2bc]
sar edx, 3
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x54], ecx
xor ecx, ecx
cmp edx, eax
push edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x50], edx
mov word [esp + 0x6c], ax
mov word [esp + 0x6e], cx
mov word [esp + 0x70], ax
mov dword [esp + 0x14], 7
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x3c], eax
jle 0x10079fb0
jmp 0x10079780
cmp dword [esp + 0x54], 0
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], 0
jle 0x10079c8e
jmp 0x100797a0
xor ecx, ecx
push 0x7e
push ecx
lea edx, [esp + 0x13e]
push edx
mov word [esp + 0x140], cx
call fcn.1013f910
xor eax, eax
push 0x7e
push eax
lea ecx, [esp + 0x1ca]
push ecx
mov word [esp + 0x1cc], ax
call fcn.1013f910
xor edx, edx
push 0x7e
push edx
lea eax, [esp + 0x256]
push eax
mov word [esp + 0x258], dx
call fcn.1013f910
push 0x3f
lea ecx, [esp + 0xdd]
push 0
push ecx
mov byte [esp + 0xe4], 0
call fcn.1013f910
push 0x3f
lea edx, [esp + 0x129]
push 0
push edx
mov byte [esp + 0x130], 0
call fcn.1013f910
push 0x3f
lea eax, [esp + 0xb5]
push 0
push eax
mov byte [esp + 0xbc], 0
call fcn.1013f910
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0xb4]
add esp, 0x48
push 0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
push esi
push eax
lea ecx, [esp + 0x148]
push ecx
mov ecx, ebp
call fcn.10078f80
mov ecx, dword [esp + 0x6e]
push 1
lea edx, [esp + 0x18]
push edx
mov word [esp + 0x74], ax
lea eax, [esp + 0x18]
push eax
push esi
push ecx
lea edx, [esp + 0x1c8]
push edx
mov ecx, ebp
call fcn.10078f80
mov edx, dword [esp + 0x70]
push 2
mov word [esp + 0x72], ax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push edx
lea eax, [esp + 0x248]
push eax
mov ecx, ebp
call fcn.10078f80
mov word [esp + 0x70], ax
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x138]
push edx
mov ecx, ebp
call fcn.100787c0
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x1b8]
push ecx
mov ecx, ebp
call fcn.100787c0
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x238]
push eax
mov ecx, ebp
call fcn.100787c0
lea esi, [edi + 2]
xor edx, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], 8
lea esp, [esp]
lea eax, [esp + edx + 0xb4]
lea ecx, [eax + 3]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + edx + 0x74]
lea edi, [ecx + 1]
mov dword [esp + 0x18], edi
lea edi, [esp + edx + 0xf4]
mov edx, eax
mov ebx, ecx
sub edx, edi
sub ebx, edi
sub eax, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], 2
jmp 0x10079958
mov ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x44]
movzx ecx, byte [edx + edi]
movzx ebp, byte [edi]
movzx ebx, byte [ebx + edi]
mov edx, dword [ebx*4 + 0x10174220]
shl ecx, 0x10
mov eax, ecx
sub eax, dword [ebp*4 + 0x10174620]
lea edx, [edx + ecx + 0x8000]
sub eax, dword [ebx*4 + 0x10174a20]
mov ebx, dword [ebp*4 + 0x10174e20]
add eax, 0x8000
lea ecx, [ebx + ecx + 0x8000]
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x100799b0
test edx, edx
jge 0x100799b5
xor edx, edx
jmp 0x100799b5
mov edx, 0xff
cmp eax, 0xff
mov byte [esi - 2], dl
jg 0x100799c7
test eax, eax
jge 0x100799cc
xor eax, eax
jmp 0x100799cc
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi - 1], al
jg 0x100799df
test ecx, ecx
jge 0x100799e4
xor ecx, ecx
jmp 0x100799e4
mov ecx, 0xff
mov eax, dword [esp + 0x18]
movzx ebx, byte [eax]
movzx ebp, byte [edi + 1]
mov byte [esi], cl
mov ecx, dword [esp + 0x40]
movzx ecx, byte [ecx + eax]
mov edx, dword [ebx*4 + 0x10174220]
shl ecx, 0x10
mov eax, ecx
sub eax, dword [ebp*4 + 0x10174620]
lea edx, [edx + ecx + 0x8000]
sub eax, dword [ebx*4 + 0x10174a20]
mov ebx, dword [ebp*4 + 0x10174e20]
add eax, 0x8000
lea ecx, [ebx + ecx + 0x8000]
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x10079a46
test edx, edx
jge 0x10079a4b
xor edx, edx
jmp 0x10079a4b
mov edx, 0xff
cmp eax, 0xff
mov byte [esi + 1], dl
jg 0x10079a5d
test eax, eax
jge 0x10079a62
xor eax, eax
jmp 0x10079a62
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi + 2], al
jg 0x10079a75
test ecx, ecx
jge 0x10079a7a
xor ecx, ecx
jmp 0x10079a7a
mov ecx, 0xff
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
movzx ebx, byte [edx + 1]
movzx ebp, byte [edi + 2]
mov byte [esi + 3], cl
movzx ecx, byte [eax - 1]
mov eax, dword [ebx*4 + 0x10174220]
shl ecx, 0x10
lea edx, [eax + ecx + 0x8000]
mov eax, ecx
sub eax, dword [ebp*4 + 0x10174620]
sar edx, 0x10
sub eax, dword [ebx*4 + 0x10174a20]
mov ebx, dword [ebp*4 + 0x10174e20]
add eax, 0x8000
lea ecx, [ebx + ecx + 0x8000]
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x10079ade
test edx, edx
jge 0x10079ae3
xor edx, edx
jmp 0x10079ae3
mov edx, 0xff
cmp eax, 0xff
mov byte [esi + 4], dl
jg 0x10079af5
test eax, eax
jge 0x10079afa
xor eax, eax
jmp 0x10079afa
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi + 5], al
jg 0x10079b0d
test ecx, ecx
jge 0x10079b12
xor ecx, ecx
jmp 0x10079b12
mov ecx, 0xff
mov edx, dword [esp + 0x18]
movzx ebx, byte [edx + 2]
movzx ebp, byte [edi + 3]
mov byte [esi + 6], cl
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx]
mov eax, dword [ebx*4 + 0x10174220]
shl ecx, 0x10
lea edx, [eax + ecx + 0x8000]
mov eax, ecx
sub eax, dword [ebp*4 + 0x10174620]
sar edx, 0x10
sub eax, dword [ebx*4 + 0x10174a20]
mov ebx, dword [ebp*4 + 0x10174e20]
add eax, 0x8000
lea ecx, [ebx + ecx + 0x8000]
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x10079b75
test edx, edx
jge 0x10079b7a
xor edx, edx
jmp 0x10079b7a
mov edx, 0xff
cmp eax, 0xff
mov byte [esi + 7], dl
jg 0x10079b8c
test eax, eax
jge 0x10079b91
xor eax, eax
jmp 0x10079b91
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi + 8], al
jg 0x10079ba4
test ecx, ecx
jge 0x10079ba9
xor ecx, ecx
jmp 0x10079ba9
mov ecx, 0xff
mov eax, 4
add dword [esp + 0x18], eax
add dword [esp + 0x1c], eax
mov byte [esi + 9], cl
mov ebx, 1
add edi, eax
add esi, 0xc
sub dword [esp + 0x64], ebx
jne 0x10079950
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
add esi, dword [esp + 0x48]
add edx, 8
sub dword [esp + 0x28], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x38], esi
jne 0x10079910
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x5c]
add eax, ebx
add edi, 0x18
cmp eax, dword [esp + 0x2c4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], edi
jne 0x10079c7a
xor edx, edx
add eax, ebx
xor ecx, ecx
mov word [esp + 0x6e], dx
lea edx, [eax + 2]
cmp edx, dword [ebp + 0x2c0]
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 7
mov word [esp + 0x70], cx
mov word [esp + 0x6c], cx
jge 0x10079c7a
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax], 0
jne 0x10079c5f
cmp byte [ecx + eax - 1], 0xff
jne 0x10079c5f
add eax, ebx
mov dword [esp + 0x10], eax
cmp byte [ecx + eax], 0xff
jne 0x10079c7a
mov cl, byte [ecx + eax + 1]
cmp cl, 0xd0
jb 0x10079c7a
cmp cl, 0xd7
ja 0x10079c7a
add eax, 2
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x20]
add ecx, ebx
cmp ecx, dword [esp + 0x54]
mov dword [esp + 0x20], ecx
jl 0x100797a0
cmp dword [esp + 0x4c], 0
jle 0x10079f8f
xor eax, eax
push 0x7e
push eax
lea ecx, [esp + 0x23e]
push ecx
mov word [esp + 0x240], ax
call fcn.1013f910
xor edx, edx
push 0x7e
push edx
lea eax, [esp + 0x1ca]
push eax
mov word [esp + 0x1cc], dx
call fcn.1013f910
xor ecx, ecx
push 0x7e
push ecx
lea edx, [esp + 0x156]
push edx
mov word [esp + 0x158], cx
call fcn.1013f910
push 0x3f
lea eax, [esp + 0x9d]
push 0
push eax
mov byte [esp + 0xa4], 0
call fcn.1013f910
push 0x3f
lea ecx, [esp + 0x129]
push 0
push ecx
mov byte [esp + 0x130], 0
call fcn.1013f910
push 0x3f
lea edx, [esp + 0xf5]
push 0
push edx
mov byte [esp + 0xfc], 0
call fcn.1013f910
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0xb4]
add esp, 0x48
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push edx
lea eax, [esp + 0x248]
push eax
mov ecx, ebp
call fcn.10078f80
push 1
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
mov word [esp + 0x78], ax
mov eax, dword [esp + 0x7a]
push esi
push eax
lea ecx, [esp + 0x1c8]
push ecx
mov ecx, ebp
call fcn.10078f80
mov ecx, dword [esp + 0x70]
push 2
lea edx, [esp + 0x18]
push edx
mov word [esp + 0x76], ax
lea eax, [esp + 0x18]
push eax
push esi
push ecx
lea edx, [esp + 0x148]
push edx
mov ecx, ebp
call fcn.10078f80
mov word [esp + 0x70], ax
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x238]
push ecx
mov ecx, ebp
call fcn.100787c0
lea edx, [esp + 0xf4]
push edx
lea eax, [esp + 0x1b8]
push eax
mov ecx, ebp
call fcn.100787c0
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x138]
push edx
mov ecx, ebp
call fcn.100787c0
add edi, 2
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 8
jmp 0x10079e10
cmp dword [esp + 0x4c], 0
jle 0x10079efd
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
lea esi, [esp + eax + 0xf4]
mov ecx, eax
sub ecx, esi
lea edx, [esp + ecx + 0x74]
mov ecx, dword [esp + 0x4c]
sub eax, esi
lea eax, [esp + eax + 0xb4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], ecx
nop
mov edx, dword [esp + 0x40]
movzx ecx, byte [edx + esi]
mov eax, dword [esp + 0x44]
movzx ebx, byte [eax + esi]
movzx edi, byte [esi]
mov edx, dword [ebx*4 + 0x10174220]
shl ecx, 0x10
mov eax, ecx
sub eax, dword [edi*4 + 0x10174620]
mov edi, dword [edi*4 + 0x10174e20]
sub eax, dword [ebx*4 + 0x10174a20]
lea edx, [edx + ecx + 0x8000]
add eax, 0x8000
lea ecx, [edi + ecx + 0x8000]
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x10079eb0
test edx, edx
jge 0x10079eb5
xor edx, edx
jmp 0x10079eb5
mov edx, 0xff
cmp eax, 0xff
mov edi, dword [esp + 0x20]
mov byte [edi - 2], dl
jg 0x10079ecb
test eax, eax
jge 0x10079ed0
xor eax, eax
jmp 0x10079ed0
mov eax, 0xff
cmp ecx, 0xff
mov byte [edi - 1], al
jg 0x10079ee3
test ecx, ecx
jge 0x10079ee8
xor ecx, ecx
jmp 0x10079ee8
mov ecx, 0xff
mov byte [edi], cl
add edi, 3
inc esi
sub dword [esp + 0x24], 1
mov dword [esp + 0x20], edi
jne 0x10079e50
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], 8
add dword [esp + 0x18], eax
sub dword [esp + 0x28], 1
jne 0x10079e10
mov eax, dword [esp + 0x34]
inc eax
cmp eax, dword [esp + 0x2c4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
jne 0x10079f8f
xor edx, edx
inc eax
xor ecx, ecx
mov word [esp + 0x6e], dx
lea edx, [eax + 2]
cmp edx, dword [ebp + 0x2c0]
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 7
mov word [esp + 0x70], cx
mov word [esp + 0x6c], cx
jge 0x10079f8f
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax], 0
jne 0x10079f74
cmp byte [ecx + eax - 1], 0xff
jne 0x10079f74
inc eax
mov dword [esp + 0x10], eax
cmp byte [ecx + eax], 0xff
jne 0x10079f8f
mov cl, byte [ecx + eax + 1]
cmp cl, 0xd0
jb 0x10079f8f
cmp cl, 0xd7
ja 0x10079f8f
add eax, 2
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x48]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x3c]
inc ecx
cmp ecx, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
jl 0x10079780
mov edi, dword [esp + 0x58]
test edi, edi
jle 0x1007a74d
cmp dword [esp + 0x54], 0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], 0
jle 0x1007a4ca
xor edx, edx
push 0x7e
push edx
lea eax, [esp + 0x23e]
push eax
mov word [esp + 0x240], dx
call fcn.1013f910
xor ecx, ecx
push 0x7e
push ecx
lea edx, [esp + 0x1ca]
push edx
mov word [esp + 0x1cc], cx
call fcn.1013f910
xor eax, eax
push 0x7e
push eax
lea ecx, [esp + 0x156]
push ecx
mov word [esp + 0x158], ax
call fcn.1013f910
push 0x3f
lea edx, [esp + 0x11d]
push 0
push edx
mov byte [esp + 0x124], 0
call fcn.1013f910
push 0x3f
lea eax, [esp + 0xe9]
push 0
push eax
mov byte [esp + 0xf0], 0
call fcn.1013f910
push 0x3f
lea ecx, [esp + 0xb5]
push 0
push ecx
mov byte [esp + 0xbc], 0
call fcn.1013f910
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0xb4]
add esp, 0x48
push 0
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
push esi
push ecx
lea edx, [esp + 0x248]
push edx
mov ecx, ebp
call fcn.10078f80
mov edx, dword [esp + 0x6e]
push 1
mov word [esp + 0x70], ax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push edx
lea eax, [esp + 0x1c8]
push eax
mov ecx, ebp
call fcn.10078f80
push 2
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
mov word [esp + 0x7a], ax
mov eax, dword [esp + 0x7c]
push esi
push eax
lea ecx, [esp + 0x148]
push ecx
mov ecx, ebp
call fcn.10078f80
mov word [esp + 0x70], ax
lea edx, [esp + 0xf4]
push edx
lea eax, [esp + 0x238]
push eax
mov ecx, ebp
call fcn.100787c0
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x1b8]
push edx
mov ecx, ebp
call fcn.100787c0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x138]
push ecx
mov ecx, ebp
call fcn.100787c0
cmp dword [esp + 0x58], 0
jle 0x1007a434
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
add esi, 2
xor edx, edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
lea eax, [esp + edx + 0xf4]
lea ecx, [eax + 3]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + edx + 0x74]
lea edi, [ecx + 1]
mov dword [esp + 0x18], edi
lea edi, [esp + edx + 0xb4]
mov edx, eax
mov ebp, ecx
sub edx, edi
sub ebp, edi
sub eax, ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], 2
jmp 0x1007a19a
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
movzx ecx, byte [edx + edi]
movzx ebx, byte [edi]
movzx ebp, byte [edi + ebp]
mov edx, dword [ebp*4 + 0x10174220]
shl ecx, 0x10
mov eax, ecx
sub eax, dword [ebx*4 + 0x10174620]
mov ebx, dword [ebx*4 + 0x10174e20]
sub eax, dword [ebp*4 + 0x10174a20]
lea edx, [edx + ecx + 0x8000]
add eax, 0x8000
lea ecx, [ebx + ecx + 0x8000]
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x1007a1f2
test edx, edx
jge 0x1007a1f7
xor edx, edx
jmp 0x1007a1f7
mov edx, 0xff
cmp eax, 0xff
mov byte [esi - 2], dl
jg 0x1007a209
test eax, eax
jge 0x1007a20e
xor eax, eax
jmp 0x1007a20e
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi - 1], al
jg 0x1007a221
test ecx, ecx
jge 0x1007a226
xor ecx, ecx
jmp 0x1007a226
mov ecx, 0xff
mov eax, dword [esp + 0x18]
movzx ebp, byte [eax]
movzx ebx, byte [edi + 1]
mov byte [esi], cl
mov ecx, dword [esp + 0x44]
movzx ecx, byte [ecx + eax]
mov edx, dword [ebp*4 + 0x10174220]
shl ecx, 0x10
mov eax, ecx
sub eax, dword [ebx*4 + 0x10174620]
mov ebx, dword [ebx*4 + 0x10174e20]
sub eax, dword [ebp*4 + 0x10174a20]
lea edx, [edx + ecx + 0x8000]
add eax, 0x8000
lea ecx, [ebx + ecx + 0x8000]
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x1007a288
test edx, edx
jge 0x1007a28d
xor edx, edx
jmp 0x1007a28d
mov edx, 0xff
cmp eax, 0xff
mov byte [esi + 1], dl
jg 0x1007a29f
test eax, eax
jge 0x1007a2a4
xor eax, eax
jmp 0x1007a2a4
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi + 2], al
jg 0x1007a2b7
test ecx, ecx
jge 0x1007a2bc
xor ecx, ecx
jmp 0x1007a2bc
mov ecx, 0xff
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
movzx ebp, byte [edx + 1]
movzx ebx, byte [edi + 2]
mov byte [esi + 3], cl
movzx ecx, byte [eax - 1]
mov eax, dword [ebp*4 + 0x10174220]
shl ecx, 0x10
lea edx, [eax + ecx + 0x8000]
mov eax, ecx
sub eax, dword [ebx*4 + 0x10174620]
mov ebx, dword [ebx*4 + 0x10174e20]
sub eax, dword [ebp*4 + 0x10174a20]
lea ecx, [ebx + ecx + 0x8000]
add eax, 0x8000
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x1007a320
test edx, edx
jge 0x1007a325
xor edx, edx
jmp 0x1007a325
mov edx, 0xff
cmp eax, 0xff
mov byte [esi + 4], dl
jg 0x1007a337
test eax, eax
jge 0x1007a33c
xor eax, eax
jmp 0x1007a33c
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi + 5], al
jg 0x1007a34f
test ecx, ecx
jge 0x1007a354
xor ecx, ecx
jmp 0x1007a354
mov ecx, 0xff
mov edx, dword [esp + 0x18]
movzx ebp, byte [edx + 2]
movzx ebx, byte [edi + 3]
mov byte [esi + 6], cl
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [ecx]
mov eax, dword [ebp*4 + 0x10174220]
shl ecx, 0x10
lea edx, [eax + ecx + 0x8000]
mov eax, ecx
sub eax, dword [ebx*4 + 0x10174620]
mov ebx, dword [ebx*4 + 0x10174e20]
sub eax, dword [ebp*4 + 0x10174a20]
lea ecx, [ebx + ecx + 0x8000]
add eax, 0x8000
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x1007a3b7
test edx, edx
jge 0x1007a3bc
xor edx, edx
jmp 0x1007a3bc
mov edx, 0xff
cmp eax, 0xff
mov byte [esi + 7], dl
jg 0x1007a3ce
test eax, eax
jge 0x1007a3d3
xor eax, eax
jmp 0x1007a3d3
mov eax, 0xff
cmp ecx, 0xff
mov byte [esi + 8], al
jg 0x1007a3e6
test ecx, ecx
jge 0x1007a3eb
xor ecx, ecx
jmp 0x1007a3eb
mov ecx, 0xff
mov eax, 4
add dword [esp + 0x18], eax
add dword [esp + 0x2c], eax
add edi, eax
mov byte [esi + 9], cl
mov eax, 1
add esi, 0xc
sub dword [esp + 0x3c], eax
jne 0x1007a192
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
add esi, dword [esp + 0x48]
add edx, 8
sub dword [esp + 0x28], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], esi
jne 0x1007a152
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
add dword [esp + 0x1c], 0x18
inc eax
cmp eax, dword [esp + 0x2c4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
jne 0x1007a4b3
xor edx, edx
inc eax
xor ecx, ecx
mov word [esp + 0x6e], dx
lea edx, [eax + 2]
cmp edx, dword [ebp + 0x2c0]
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 7
mov word [esp + 0x70], cx
mov word [esp + 0x6c], cx
jge 0x1007a4b3
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax], 0
jne 0x1007a498
cmp byte [ecx + eax - 1], 0xff
jne 0x1007a498
inc eax
mov dword [esp + 0x10], eax
cmp byte [ecx + eax], 0xff
jne 0x1007a4b3
mov cl, byte [ecx + eax + 1]
cmp cl, 0xd0
jb 0x1007a4b3
cmp cl, 0xd7
ja 0x1007a4b3
add eax, 2
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x38]
inc ecx
cmp ecx, dword [esp + 0x54]
mov dword [esp + 0x38], ecx
jl 0x10079fd7
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jle 0x1007a74d
xor eax, eax
push 0x7e
push eax
lea ecx, [esp + 0x23e]
push ecx
mov word [esp + 0x240], ax
call fcn.1013f910
xor edx, edx
push 0x7e
push edx
lea eax, [esp + 0x1ca]
push eax
mov word [esp + 0x1cc], dx
call fcn.1013f910
xor ecx, ecx
push 0x7e
push ecx
lea edx, [esp + 0x156]
push edx
mov word [esp + 0x158], cx
call fcn.1013f910
push 0x3f
lea eax, [esp + 0x9d]
push 0
push eax
mov byte [esp + 0xa4], 0
call fcn.1013f910
push 0x3f
lea ecx, [esp + 0x129]
push 0
push ecx
mov byte [esp + 0x130], 0
call fcn.1013f910
push 0x3f
lea edx, [esp + 0xf5]
push 0
push edx
mov byte [esp + 0xfc], 0
call fcn.1013f910
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0xb4]
add esp, 0x48
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push edx
lea eax, [esp + 0x248]
push eax
mov ecx, ebp
call fcn.10078f80
mov eax, dword [esp + 0x6e]
push 1
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
push esi
push eax
lea ecx, [esp + 0x1c8]
push ecx
mov ecx, ebp
call fcn.10078f80
mov ecx, dword [esp + 0x70]
push 2
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x18]
push eax
push esi
push ecx
lea edx, [esp + 0x148]
push edx
mov ecx, ebp
call fcn.10078f80
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x238]
push ecx
mov ecx, ebp
call fcn.100787c0
lea edx, [esp + 0xf4]
push edx
lea eax, [esp + 0x1b8]
push eax
mov ecx, ebp
call fcn.100787c0
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x138]
push edx
mov ecx, ebp
call fcn.100787c0
test edi, edi
jle 0x1007a747
mov ecx, dword [esp + 0x1c]
add ecx, 2
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edi
jmp 0x1007a640
test ebx, ebx
jle 0x1007a729
mov dword [esp + 0x3c], ecx
lea esi, [esp + eax + 0xf4]
mov ecx, eax
sub ecx, esi
sub eax, esi
lea edx, [esp + ecx + 0x74]
lea eax, [esp + eax + 0xb4]
mov dword [esp + 0x50], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x40]
movzx ebx, byte [esi + edx]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esi + ecx]
mov eax, dword [ebx*4 + 0x10174220]
movzx edi, byte [esi]
shl ecx, 0x10
lea edx, [eax + ecx + 0x8000]
mov eax, ecx
sub eax, dword [edi*4 + 0x10174620]
mov edi, dword [edi*4 + 0x10174e20]
sub eax, dword [ebx*4 + 0x10174a20]
lea ecx, [edi + ecx + 0x8000]
add eax, 0x8000
sar edx, 0x10
sar eax, 0x10
sar ecx, 0x10
cmp edx, 0xff
jg 0x1007a6d0
test edx, edx
jge 0x1007a6d5
xor edx, edx
jmp 0x1007a6d5
mov edx, 0xff
cmp eax, 0xff
mov edi, dword [esp + 0x3c]
mov byte [edi - 2], dl
jg 0x1007a6eb
test eax, eax
jge 0x1007a6f0
xor eax, eax
jmp 0x1007a6f0
mov eax, 0xff
cmp ecx, 0xff
mov byte [edi - 1], al
jg 0x1007a703
test ecx, ecx
jge 0x1007a708
xor ecx, ecx
jmp 0x1007a708
mov ecx, 0xff
mov byte [edi], cl
add edi, 3
inc esi
sub dword [esp + 0x20], 1
mov dword [esp + 0x3c], edi
jne 0x1007a670
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x48]
add eax, 8
sub dword [esp + 0x38], 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jne 0x1007a640
mov eax, dword [esp + 0x10]
jmp 0x1007a751
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x14], 7
je 0x1007a759
inc eax
lea ecx, [eax + 2]
cmp ecx, dword [ebp + 0x2c0]
jge 0x1007a789
cmp byte [esi + eax], 0
jne 0x1007a772
cmp byte [esi + eax - 1], 0xff
jne 0x1007a772
inc eax
cmp byte [esi + eax], 0xff
jne 0x1007a789
mov cl, byte [esi + eax + 1]
cmp cl, 0xd0
jb 0x1007a789
cmp cl, 0xd7
ja 0x1007a789
add eax, 2
mov ecx, dword [esp + 0x2b4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1013d581
add esp, 0x2a8
ret 0xc