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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed4
xor eax, eax
xor edx, edx
xor ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x2b], 0
mov byte [ebp - 0x2c], 0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x34], eax
xor eax, eax
mov esi, dword [ebp + 0x10]
lea ebx, [ebp - 0x12c]
add esi, dword [ebp + 0x18]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], edx
lea ecx, [esi - 1]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
jne 0x79bcd1
cmp dword [ebp + 0xc], 0
jne 0x79bcd1
cmp dword [ebp + 0x10], 0
jne 0x79bcd1
cmp dword [ebp + 0x14], 0xfffffc19
jne 0x79bcd1
cmp dword [ebp + 0x18], 0xfffffc19
jne 0x79bcd1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.0078b0f4
add esp, 0x1c
jmp 0x79ca47
test dword [ebp + 0x1c], 0xe20f5a6f
je 0x79bce4
mov eax, 0xfffffffd
jmp 0x79ca47
cmp dword [ebp - 0x4c], 0
je 0x79bcfc
cmp dword [ebp + 0x10], 0
je 0x79bcfc
cmp dword [ebp + 0x20], 0
jne 0x79bd06
cmp dword [ebp + 0x24], 0
jle 0x79bd06
mov eax, 0xfffffffe
jmp 0x79ca47
cmp dword [ebp + 0x24], 0
jge 0x79bd16
mov eax, 0xfffffff1
jmp 0x79ca47
cmp dword [ebp + 0x14], 0
jge 0x79bd26
mov eax, 0xffffffe0
jmp 0x79ca47
cmp dword [ebp + 0x18], 0
jl 0x79bd34
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jle 0x79bd3e
mov eax, 0xffffffe8
jmp 0x79ca47
mov edx, dword [ebp - 0x4c]
cmp dword [edx], 0x50435245
je 0x79bd68
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx], 0x45524350
jne 0x79bd5e
mov eax, 0xffffffe3
jmp 0x79ca47
mov eax, 0xfffffffc
jmp 0x79ca47
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 1
jne 0x79bd7b
mov eax, 0xffffffe4
jmp 0x79ca47
mov edx, dword [ebp - 0x4c]
test byte [edx + 9], 8
setne cl
and ecx, 1
mov dword [ebx + 0x4c], ecx
mov dword [ebp - 0x20], ecx
test byte [ebp + 0x1f], 8
je 0x79bd9b
mov eax, 2
jmp 0x79bdaa
test byte [ebp + 0x1d], 0x80
je 0x79bda8
mov eax, 1
jmp 0x79bdaa
xor eax, eax
mov dword [ebx + 0x88], eax
cmp dword [ebp - 0x20], 0
je 0x79be4a
test byte [ebp + 0x1d], 0x20
jne 0x79be4a
lea edx, [ebp - 0x50]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0079d8f4
add esp, 0xc
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x79be1b
cmp dword [ebp + 0x24], 2
jl 0x79bdf8
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x54]
mov dword [ecx + 4], eax
cmp dword [ebp - 0x54], 5
jg 0x79be11
cmp dword [ebx + 0x88], 1
jle 0x79be11
mov eax, 0xffffffe7
jmp 0x79ca47
mov eax, 0xfffffff6
jmp 0x79ca47
cmp dword [ebp + 0x18], 0
jle 0x79be4a
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jge 0x79be4a
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x18]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0xc0
cmp eax, 0x80
jne 0x79be4a
mov eax, 0xfffffff5
jmp 0x79ca47
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x22]
add ecx, dword [ebp - 0x4c]
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x26]
mov dword [ebx + 0x20], eax
xor eax, eax
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x24]
mov dword [ebx + 0x24], ecx
mov dword [ebp - 0x48], eax
mov dword [ebx + 4], 0x989680
mov dword [ebx + 8], 0x989680
xor edx, edx
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0xc], 0
je 0x79beeb
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov dword [ebp - 0x58], ecx
test byte [ebp - 0x58], 1
je 0x79beac
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov dword [ebp - 0x48], edx
test byte [ebp - 0x58], 2
je 0x79bebb
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebx + 4], eax
test byte [ebp - 0x58], 0x10
je 0x79beca
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x14]
mov dword [ebx + 8], ecx
test byte [ebp - 0x58], 4
je 0x79bedc
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xa8], edx
test byte [ebp - 0x58], 8
je 0x79beeb
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xd], 0x20
je 0x79bf08
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x79bf08
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x10]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xd], 0x40
je 0x79bf25
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [ebx + 8]
jae 0x79bf25
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x14]
mov dword [ebx + 8], edx
cmp dword [ebp - 0x30], 0
jne 0x79bf32
mov dword [ebp - 0x30], 0x8880e8
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test al, 0x10
setne dl
and edx, 1
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 1
setne al
and eax, 1
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xa], 4
setne cl
and ecx, 1
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x4c]
movzx edx, word [eax + 0x26]
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x24]
imul edx, ecx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x22]
add ecx, dword [ebp - 0x4c]
add edx, ecx
mov dword [ebx + 0x70], edx
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x74], edx
mov ecx, dword [ebp + 0x18]
mov dword [ebx + 0x94], ecx
mov eax, dword [ebx + 0x74]
add eax, dword [ebp + 0x14]
mov dword [ebx + 0x78], eax
mov edx, dword [ebx + 0x78]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 8], 0x20
setne al
and eax, 1
mov dword [ebx + 0x58], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xb], 0x20
setne cl
and ecx, 1
mov dword [ebx + 0x54], ecx
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xb], 2
setne dl
and edx, 1
xor ecx, ecx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x2c], ecx
test byte [ebp + 0x1c], 0x80
setne al
and eax, 1
mov dword [ebx + 0x44], eax
test byte [ebp + 0x1d], 1
setne dl
and edx, 1
mov dword [ebx + 0x48], edx
test byte [ebp + 0x1d], 4
setne cl
and ecx, 1
mov dword [ebx + 0x5c], ecx
test byte [ebp + 0x1f], 0x10
setne al
and eax, 1
xor edx, edx
mov dword [ebx + 0x60], eax
xor ecx, ecx
mov dword [ebx + 0x64], edx
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xac], ecx
xor eax, eax
mov dword [ebx + 0xa4], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xd], 0x10
setne cl
and ecx, 1
mov dword [ebx + 0x6c], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x38], eax
mov edx, dword [ebp - 0x30]
add edx, 0x100
mov dword [ebx + 0x3c], edx
mov ecx, dword [ebp - 0x30]
add ecx, 0x340
mov dword [ebx + 0x40], ecx
mov eax, dword [ebp + 0x1c]
and eax, 0x1800000
sub eax, 1
jb 0x79c073
sub eax, 0x7fffff
je 0x79c098
sub eax, 0x800000
je 0x79c0a1
jmp 0x79c0a8
mov edx, dword [ebp - 0x4c]
test dword [edx + 8], 0x1800000
je 0x79c091
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xa], 0x80
setne al
and eax, 1
mov dword [ebx + 0x68], eax
jmp 0x79c0b2
xor edx, edx
mov dword [ebx + 0x68], edx
jmp 0x79c0b2
mov dword [ebx + 0x68], 1
jmp 0x79c0b2
xor ecx, ecx
mov dword [ebx + 0x68], ecx
jmp 0x79c0b2
mov eax, 0xffffffe9
jmp 0x79ca47
test byte [ebp + 0x1e], 0x70
jne 0x79c0c0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 8]
jmp 0x79c0c3
mov ecx, dword [ebp + 0x1c]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x79c0ea
je 0x79c117
sub ecx, 1
jb 0x79c0fc
sub ecx, 0xfffff
je 0x79c105
sub ecx, 0x100000
je 0x79c10e
jmp 0x79c132
sub ecx, 0x400000
je 0x79c120
sub ecx, 0x100000
je 0x79c129
jmp 0x79c132
mov dword [ebp - 0xc], 0xa
jmp 0x79c13c
mov dword [ebp - 0xc], 0xd
jmp 0x79c13c
mov dword [ebp - 0xc], 0xa
jmp 0x79c13c
mov dword [ebp - 0xc], 0xd0a
jmp 0x79c13c
mov dword [ebp - 0xc], 0xffffffff
jmp 0x79c13c
mov dword [ebp - 0xc], 0xfffffffe
jmp 0x79c13c
mov eax, 0xffffffe9
jmp 0x79ca47
cmp dword [ebp - 0xc], 0xfffffffe
jne 0x79c14b
mov dword [ebx + 0x18], 2
jmp 0x79c192
cmp dword [ebp - 0xc], 0
jge 0x79c15a
mov dword [ebx + 0x18], 1
jmp 0x79c192
xor edx, edx
mov dword [ebx + 0x18], edx
cmp dword [ebp - 0xc], 0xff
jle 0x79c185
mov dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 0xc]
sar ecx, 8
and cl, 0xff
mov byte [ebx + 0x34], cl
mov al, byte [ebp - 0xc]
and al, 0xff
mov byte [ebx + 0x35], al
jmp 0x79c192
mov dword [ebx + 0x1c], 1
mov dl, byte [ebp - 0xc]
mov byte [ebx + 0x34], dl
cmp dword [ebx + 0x88], 0
je 0x79c1ae
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 2
je 0x79c1ae
mov eax, 0xfffffff3
jmp 0x79ca47
mov eax, dword [ebp + 0x24]
mov ecx, 3
cdq
idiv ecx
mov eax, dword [ebp + 0x24]
sub eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x20]
test eax, eax
jle 0x79c22c
mov eax, dword [ebp - 4]
mov ecx, 3
cdq
idiv ecx
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x20]
cmp eax, ecx
jg 0x79c22c
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x20]
lea eax, [ecx + ecx*2]
add eax, 3
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
shl edx, 2
push edx
call dword [0x874250]
pop ecx
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0xc], 0
jne 0x79c223
mov eax, 0xfffffffa
jmp 0x79ca47
mov dword [ebp - 0x10], 1
jmp 0x79c232
mov edx, dword [ebp + 0x20]
mov dword [ebx + 0xc], edx
mov ecx, dword [ebp - 4]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 4]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebx + 0x14], eax
xor ecx, ecx
mov dword [ebx + 0x90], ecx
cmp dword [ebx + 0xc], 0
je 0x79c2be
mov eax, dword [ebp - 4]
shl eax, 2
add eax, dword [ebx + 0xc]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x1e]
shl ecx, 2
mov eax, dword [ebp - 0x5c]
sub eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebx + 0xc]
add edx, 8
cmp edx, dword [ebp - 0x60]
jbe 0x79c293
mov ecx, dword [ebx + 0xc]
add ecx, 8
mov dword [ebp - 0x60], ecx
jmp 0x79c293
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0xffffffff
sub dword [ebp - 0x5c], 4
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x60]
jae 0x79c28a
cmp dword [ebp + 0x24], 0
jle 0x79c2ae
mov ecx, dword [ebx + 0xc]
mov dword [ecx], 0xffffffff
cmp dword [ebp + 0x24], 1
jle 0x79c2be
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0xffffffff
cmp dword [ebp - 0x14], 0
jne 0x79c317
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 0x10
je 0x79c2f9
mov dword [ebp - 0x24], 1
mov ecx, dword [ebp - 0x4c]
mov al, byte [ecx + 0x18]
mov byte [ebp - 0x2a], al
mov byte [ebp - 0x29], al
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 0x20
je 0x79c317
xor ecx, ecx
mov cl, byte [ebp - 0x29]
mov edi, dword [ebx + 0x3c]
mov al, byte [edi + ecx]
mov byte [ebp - 0x2a], al
jmp 0x79c317
cmp dword [ebp - 0x18], 0
jne 0x79c317
cmp dword [ebp - 0x48], 0
je 0x79c317
mov edx, dword [ebp - 0x48]
test byte [edx + 4], 1
je 0x79c317
mov ecx, dword [ebp - 0x48]
add ecx, 8
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xc], 0x40
je 0x79c34a
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x4c]
mov dl, byte [eax + 0x1a]
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0x2b], dl
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xc], 0x80
je 0x79c34a
xor ecx, ecx
mov cl, byte [ebp - 0x2b]
mov edi, dword [ebx + 0x3c]
mov al, byte [edi + ecx]
mov byte [ebp - 0x2c], al
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x1c], 0
je 0x79c457
cmp dword [ebp - 0x20], 0
mov edi, esi
je 0x79c3f0
jmp 0x79c381
inc edi
jmp 0x79c36c
inc edi
cmp edi, dword [ebp - 0x38]
jae 0x79c381
xor eax, eax
mov al, byte [edi]
and eax, 0xc0
cmp eax, 0x80
je 0x79c36b
cmp edi, dword [ebx + 0x78]
jae 0x79c454
cmp dword [ebx + 0x18], 0
je 0x79c3bd
cmp edi, dword [ebx + 0x78]
jae 0x79c3b2
mov edx, dword [ebp - 0x20]
lea ecx, [ebx + 0x1c]
push edx
push ecx
mov ecx, dword [ebx + 0x78]
push ecx
mov eax, dword [ebx + 0x18]
push eax
push edi
call fcn.0079d4bc
add esp, 0x14
test eax, eax
jne 0x79c3b6
xor edx, edx
jmp 0x79c3e5
mov edx, 1
jmp 0x79c3e5
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x79c3dc
mov al, byte [edi]
cmp al, byte [ebx + 0x34]
jne 0x79c3dc
cmp dword [ebx + 0x1c], 1
je 0x79c3e0
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x35]
je 0x79c3e0
xor edx, edx
jmp 0x79c3e5
mov edx, 1
test edx, edx
je 0x79c368
jmp 0x79c454
inc edi
cmp edi, dword [ebx + 0x78]
jae 0x79c454
cmp dword [ebx + 0x18], 0
je 0x79c428
cmp edi, dword [ebx + 0x78]
jae 0x79c41d
mov eax, dword [ebp - 0x20]
lea ecx, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebx + 0x78]
push ecx
mov eax, dword [ebx + 0x18]
push eax
push edi
call fcn.0079d4bc
add esp, 0x14
test eax, eax
jne 0x79c421
xor edx, edx
jmp 0x79c450
mov edx, 1
jmp 0x79c450
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x79c447
mov al, byte [edi]
cmp al, byte [ebx + 0x34]
jne 0x79c447
cmp dword [ebx + 0x1c], 1
je 0x79c44b
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x35]
je 0x79c44b
xor edx, edx
jmp 0x79c450
mov edx, 1
test edx, edx
je 0x79c3ef
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 8]
or ecx, dword [ebp + 0x1c]
test ecx, 0x4000000
jne 0x79c62b
cmp dword [ebp - 0x24], 0
je 0x79c4b1
mov cl, byte [ebp - 0x29]
cmp cl, byte [ebp - 0x2a]
je 0x79c49c
jmp 0x79c47d
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x79c62b
mov al, byte [esi]
cmp al, byte [ebp - 0x29]
je 0x79c62b
cmp al, byte [ebp - 0x2a]
jne 0x79c47c
jmp 0x79c62b
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x79c62b
mov al, byte [esi]
cmp al, byte [ebp - 0x29]
jne 0x79c49b
jmp 0x79c62b
cmp dword [ebp - 0x18], 0
je 0x79c5fc
mov edx, dword [ebx + 0x74]
add edx, dword [ebp + 0x18]
cmp esi, edx
jbe 0x79c62b
cmp dword [ebp - 0x20], 0
je 0x79c568
jmp 0x79c4f0
inc esi
jmp 0x79c4d9
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x79c4f0
xor ecx, ecx
mov cl, byte [esi]
and ecx, 0xc0
cmp ecx, 0x80
je 0x79c4d8
cmp esi, dword [ebp - 0x38]
jae 0x79c5d5
cmp dword [ebx + 0x18], 0
je 0x79c52b
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x79c520
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebx + 0x1c]
push edx
push edi
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.0079d6a4
add esp, 0x14
test eax, eax
jne 0x79c524
xor ecx, ecx
jmp 0x79c55d
mov ecx, 1
jmp 0x79c55d
mov eax, dword [ebx + 0x74]
add eax, dword [ebx + 0x1c]
cmp esi, eax
jb 0x79c554
mov edx, esi
sub edx, dword [ebx + 0x1c]
mov cl, byte [edx]
cmp cl, byte [ebx + 0x34]
jne 0x79c554
cmp dword [ebx + 0x1c], 1
je 0x79c558
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 0x35]
je 0x79c558
xor ecx, ecx
jmp 0x79c55d
mov ecx, 1
test ecx, ecx
je 0x79c4d5
jmp 0x79c5d5
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x79c5d5
cmp dword [ebx + 0x18], 0
je 0x79c59f
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x79c594
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebx + 0x1c]
push edx
push edi
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.0079d6a4
add esp, 0x14
test eax, eax
jne 0x79c598
xor ecx, ecx
jmp 0x79c5d1
mov ecx, 1
jmp 0x79c5d1
mov eax, dword [ebx + 0x74]
add eax, dword [ebx + 0x1c]
cmp esi, eax
jb 0x79c5c8
mov edx, esi
sub edx, dword [ebx + 0x1c]
mov cl, byte [edx]
cmp cl, byte [ebx + 0x34]
jne 0x79c5c8
cmp dword [ebx + 0x1c], 1
je 0x79c5cc
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 0x35]
je 0x79c5cc
xor ecx, ecx
jmp 0x79c5d1
mov ecx, 1
test ecx, ecx
je 0x79c567
xor eax, eax
mov al, byte [esi - 1]
cmp eax, 0xd
jne 0x79c62b
cmp dword [ebx + 0x18], 1
je 0x79c5eb
cmp dword [ebx + 0x18], 2
jne 0x79c62b
cmp esi, dword [ebp - 0x38]
jae 0x79c62b
xor edx, edx
mov dl, byte [esi]
cmp edx, 0xa
jne 0x79c62b
inc esi
jmp 0x79c62b
cmp dword [ebp - 0x34], 0
je 0x79c62b
cmp esi, dword [ebp - 0x38]
jae 0x79c62b
xor eax, eax
mov al, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
shr eax, 3
mov ecx, dword [ebp - 0x34]
movzx eax, byte [ecx + eax]
and edx, eax
jne 0x79c62b
inc esi
cmp esi, dword [ebp - 0x38]
jb 0x79c607
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test eax, 0x4000000
jne 0x79c6ef
cmp dword [ebx + 0x88], 0
jne 0x79c6ef
cmp dword [ebp - 0x48], 0
je 0x79c675
mov edx, dword [ebp - 0x48]
test byte [edx + 4], 2
je 0x79c675
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
sub ecx, esi
cmp ecx, dword [eax + 0x28]
jae 0x79c675
xor edi, edi
jmp 0x79c888
cmp dword [ebp - 0x28], 0
je 0x79c6ef
mov eax, dword [ebp - 0x38]
sub eax, esi
cmp eax, 0x3e8
jge 0x79c6ef
cmp dword [ebp - 0x24], 0
je 0x79c694
mov eax, 1
jmp 0x79c696
xor eax, eax
add eax, esi
cmp eax, dword [ebp - 0x44]
jbe 0x79c6ef
mov dl, byte [ebp - 0x2b]
cmp dl, byte [ebp - 0x2c]
je 0x79c6cb
cmp eax, dword [ebp - 0x38]
jae 0x79c6e0
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
inc eax
mov cl, byte [ebp - 0x2b]
cmp edx, ecx
je 0x79c6c1
xor ecx, ecx
mov cl, byte [ebp - 0x2c]
cmp edx, ecx
jne 0x79c6c4
dec eax
jmp 0x79c6e0
cmp eax, dword [ebp - 0x38]
jb 0x79c6aa
jmp 0x79c6e0
cmp eax, dword [ebp - 0x38]
jae 0x79c6e0
mov dl, byte [eax]
inc eax
cmp dl, byte [ebp - 0x2b]
jne 0x79c6db
dec eax
jmp 0x79c6e0
cmp eax, dword [ebp - 0x38]
jb 0x79c6d0
cmp eax, dword [ebp - 0x38]
jb 0x79c6ec
xor edi, edi
jmp 0x79c888
mov dword [ebp - 0x44], eax
mov dword [ebx + 0x7c], esi
mov dword [ebx + 0x84], esi
xor eax, eax
mov dword [ebx], eax
xor edx, edx
mov dword [ebx + 0x98], edx
xor ecx, ecx
mov dword [ebx + 0x8c], ecx
xor ecx, ecx
mov dword [ebx + 0x28], ecx
push 0
push 0
push ebx
push 2
push esi
mov eax, dword [ebx + 0x70]
push eax
push esi
call fcn.0078b0f4
add esp, 0x1c
mov edi, eax
cmp dword [ebx + 0x64], 0
je 0x79c740
cmp dword [ebp - 0x3c], 0
jne 0x79c740
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], esi
mov edx, edi
cmp edx, 0xfffffc1f
jg 0x79c75f
je 0x79c774
sub edx, 0xfffffc1c
je 0x79c7c1
dec edx
je 0x79c78c
dec edx
je 0x79c77f
jmp 0x79c888
sub edx, 0xfffffc20
je 0x79c78c
sub edx, 0x3e0
je 0x79c78c
jmp 0x79c888
mov dword [ebp - 0x68], esi
mov ecx, dword [ebx + 0x28]
mov dword [ebx + 0x2c], ecx
jmp 0x79c7c8
cmp esi, dword [ebx + 0x7c]
jae 0x79c78c
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x68], ecx
jmp 0x79c7c8
xor eax, eax
lea edx, [esi + 1]
mov dword [ebx + 0x2c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x20], 0
je 0x79c7c8
jmp 0x79c7a2
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x38]
jae 0x79c7c8
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x79c79f
jmp 0x79c7c8
xor edi, edi
jmp 0x79c888
xor edi, edi
cmp dword [ebp - 0x1c], 0
je 0x79c82f
cmp dword [ebx + 0x18], 0
je 0x79c803
cmp esi, dword [ebx + 0x78]
jae 0x79c7f8
mov eax, dword [ebp - 0x20]
lea edx, [ebx + 0x1c]
push eax
push edx
mov ecx, dword [ebx + 0x78]
push ecx
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.0079d4bc
add esp, 0x14
test eax, eax
jne 0x79c7fc
xor eax, eax
jmp 0x79c82b
mov eax, 1
jmp 0x79c82b
mov edx, dword [ebx + 0x78]
sub edx, dword [ebx + 0x1c]
cmp esi, edx
ja 0x79c822
mov cl, byte [esi]
cmp cl, byte [ebx + 0x34]
jne 0x79c822
cmp dword [ebx + 0x1c], 1
je 0x79c826
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x79c826
xor eax, eax
jmp 0x79c82b
mov eax, 1
test eax, eax
jne 0x79c888
cmp dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x68]
jne 0x79c888
cmp esi, dword [ebp - 0x38]
ja 0x79c888
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x18]
cmp esi, eax
jbe 0x79c87b
xor edx, edx
mov dl, byte [esi - 1]
cmp edx, 0xd
jne 0x79c87b
cmp esi, dword [ebp - 0x38]
jae 0x79c87b
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0xa
jne 0x79c87b
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 8
jne 0x79c87b
cmp dword [ebx + 0x18], 1
je 0x79c87a
cmp dword [ebx + 0x18], 2
je 0x79c87a
cmp dword [ebx + 0x1c], 2
jne 0x79c87b
inc esi
xor eax, eax
mov dword [ebx + 0xac], eax
jmp 0x79c34a
cmp edi, 1
je 0x79c899
cmp edi, 0xfffffc19
jne 0x79c9c4
cmp dword [ebp - 0x10], 0
je 0x79c8e5
cmp dword [ebp - 8], 4
jl 0x79c8c5
mov edx, dword [ebp - 8]
add edx, 0xfffffffe
shl edx, 2
push edx
mov ecx, dword [ebx + 0xc]
add ecx, 8
push ecx
mov eax, dword [ebp + 0x20]
add eax, 8
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebx + 0x8c]
cmp edx, dword [ebp - 8]
jle 0x79c8da
or dword [ebx + 0x90], 0x10000
mov ecx, dword [ebx + 0xc]
push ecx
call dword [0x874254]
pop ecx
test byte [ebx + 0x92], 1
je 0x79c8fd
mov eax, dword [ebx + 0x8c]
cmp eax, dword [ebp - 8]
jl 0x79c8fd
xor edi, edi
jmp 0x79c90a
mov edi, dword [ebx + 0x8c]
sar edi, 1
jns 0x79c90a
adc edi, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebx + 0x8c]
sar ecx, 1
movzx edx, word [eax + 0x1e]
jns 0x79c91e
adc ecx, 0
cmp edx, ecx
jl 0x79c97d
cmp dword [ebp + 0x20], 0
je 0x79c97d
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x1e]
add eax, eax
add eax, 2
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp + 0x24]
jle 0x79c945
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x74], ecx
mov eax, dword [ebx + 0x8c]
shl eax, 2
add eax, dword [ebp + 0x20]
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x74]
shl edx, 2
add edx, dword [ebp + 0x20]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x70]
jae 0x79c97d
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xffffffff
add dword [ebp - 0x6c], 4
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jb 0x79c968
cmp dword [ebp + 0x24], 2
jge 0x79c987
xor edi, edi
jmp 0x79c9a1
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp + 0x20]
sub eax, dword [ebx + 0x74]
mov dword [edx], eax
mov ecx, dword [ebx + 0x80]
mov esi, dword [ebp + 0x20]
sub ecx, dword [ebx + 0x74]
mov dword [esi + 4], ecx
cmp dword [ebp + 0xc], 0
je 0x79c9bd
mov eax, dword [ebp + 0xc]
test byte [eax], 0x20
je 0x79c9bd
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xac]
mov dword [ecx], ebx
mov eax, edi
jmp 0x79ca47
cmp dword [ebp - 0x10], 0
je 0x79c9d5
mov edx, dword [ebx + 0xc]
push edx
call dword [0x874254]
pop ecx
test edi, edi
je 0x79c9e2
cmp edi, 0xfffffff4
je 0x79c9e2
mov eax, edi
jmp 0x79ca47
cmp dword [ebp - 0x40], 0
je 0x79ca26
xor edx, edx
mov dword [ebx + 0xac], edx
cmp dword [ebp + 0x24], 1
jle 0x79ca1f
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp + 0x20]
sub ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x20]
sub edx, dword [ebp + 0x10]
mov dword [ecx + 4], edx
cmp dword [ebp + 0x24], 2
jle 0x79ca1f
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x20]
sub ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov edi, 0xfffffff4
jmp 0x79ca29
or edi, 0xffffffff
cmp dword [ebp + 0xc], 0
je 0x79ca45
mov eax, dword [ebp + 0xc]
test byte [eax], 0x20
je 0x79ca45
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xb0]
mov dword [ecx], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret