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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x87100004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x34]
movzx ecx, byte [eax - 0x78f0a870]
xor eax, eax
push edi
mov edi, dword [ebp + 0xc]
shr ecx, 1
inc eax
and ecx, eax
mov ebx, edi
sub ebx, ecx
sub ebx, dword [esi + 0x44]
test byte [esi + 0x40], 4
je 0x8375f392
cmp edi, dword [esi + 0x4c]
je 0x8375f394
xor eax, eax
mov ecx, dword [ebp + 0x18]
imul ecx, ecx, 0x48
sub ebx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x40]
lea eax, [eax + ecx + 0x40]
xor ecx, ecx
sub dword [eax], ebx
mov dword [ebp - 0x1c], ebx
mov edx, 0x80000001
sbb dword [eax + 4], ecx
cmp dword [0x87107e34], 1
jne 0x8375f424
mov al, byte [0x87107e38]
cmp al, 5
jae 0x8375f3cb
test al, al
jne 0x8375f424
mov ecx, dword [0x87107e24]
and ecx, edx
xor eax, eax
or eax, ecx
je 0x8375f424
mov ecx, dword [0x87107e2c]
mov eax, ecx
and eax, edx
xor edx, edx
cmp edx, dword [0x87107e28]
jne 0x8375f424
cmp eax, ecx
jne 0x8375f424
push dword [esi + 0x44]
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
push 0x8703753e
push esi
stosd dword es:[edi], eax
lea eax, [ebp - 0x14]
push eax
push 0x870f5140
push dword [0x87107e0c]
mov dword [ebp - 0x14], esi
push dword [0x87107e08]
call fcn.8379979e
mov edi, dword [ebp + 0xc]
push esi
call fcn.837592b9
test al, al
je 0x8375f435
push ebx
push esi
call fcn.83769fc0
test dword [esi + 0x3c], 0x8000000
mov eax, dword [esi + 0x1e4]
je 0x8375f46b
sub dword [eax + 0x20], ebx
mov eax, dword [esi + 0x1e4]
mov ecx, edi
sub ecx, dword [eax]
test ecx, ecx
jle 0x8375f479
mov dword [eax], edi
mov eax, dword [esi + 0x1e4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
jns 0x8375f479
mov ecx, dword [eax]
mov dword [eax + 4], ecx
jmp 0x8375f479
test eax, eax
je 0x8375f479
mov ecx, edi
sub ecx, dword [eax]
test ecx, ecx
jle 0x8375f479
mov dword [eax], edi
lea eax, [esi + 0x1e8]
mov edx, dword [eax]
lea ecx, [edi - 1]
cmp edx, ecx
jbe 0x8375f48a
mov ecx, edx
test byte [esi + 0x198], 8
mov dword [eax], ecx
je 0x8375f4b1
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x8375f4b1
cmp dword [eax + 0x10], 0
jne 0x8375f4aa
mov dword [eax + 0x28], edi
jmp 0x8375f4b1
push edi
push esi
call fcn.837a8506
test byte [esi + 0x198], 0x20
mov edi, 0x3000
je 0x8375f4f7
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x8375f5f0
mov eax, dword [eax + 6]
test eax, eax
je 0x8375f5f0
mov ebx, dword [ebp + 0x1c]
bswap eax
sub ebx, eax
mov eax, 0xbb8
mov byte [ebp - 0x15], 1
cmp ebx, eax
jbe 0x8375f4eb
mov ebx, eax
push ebx
push esi
call fcn.83759200
jmp 0x8375f5f6
mov eax, dword [esi + 0x154]
test eax, eax
je 0x8375f5f0
mov ecx, dword [ebp + 0xc]
sub ecx, dword [esi + 0x150]
test ecx, ecx
jle 0x8375f5f0
mov ebx, dword [ebp + 0x1c]
sub ebx, eax
mov eax, 0xbb8
mov byte [ebp - 0x15], 1
cmp ebx, eax
jbe 0x8375f52a
mov ebx, eax
push ebx
push esi
call fcn.83759200
mov ax, word [esi + 0x40]
and dword [esi + 0x154], 0
mov ecx, edi
and ax, cx
cmp ax, di
jne 0x8375f55e
push esi
call fcn.8375a299
cmp ebx, eax
jbe 0x8375f55e
and dword [esi + 0x174], 0xfffffffe
push ebx
push esi
call fcn.83759200
and dword [esi + 0x158], 0
mov eax, 0x8fff
and word [esi + 0x40], ax
cmp dword [0x87107e34], 1
jne 0x8375f5f6
mov al, byte [0x87107e38]
cmp al, 5
jae 0x8375f584
test al, al
jne 0x8375f5f6
mov ecx, dword [0x87107e24]
mov edi, 0x80000001
and ecx, edi
xor eax, eax
or eax, ecx
je 0x8375f5f6
mov edx, dword [0x87107e2c]
mov eax, edx
xor ecx, ecx
and eax, edi
cmp ecx, dword [0x87107e28]
jne 0x8375f5f6
cmp eax, edx
jne 0x8375f5f6
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
movzx eax, word [esi + 0x14c]
shr eax, 3
imul eax, eax, 0xa
push eax
mov eax, ebx
imul eax, eax, 0xa
push eax
push dword [ebp + 0x1c]
lea eax, [ebp - 0x14]
push ecx
push esi
push eax
push 0x870f51a0
push dword [0x87107e0c]
mov dword [ebp - 0x14], esi
push dword [0x87107e08]
call fcn.83799836
jmp 0x8375f5f6
mov byte [ebp - 0x15], 0
xor ebx, ebx
cmp dword [esi + 0x34], 4
jge 0x8375f602
push esi
call fcn.837ae249
cmp byte [ebp - 0x15], 0
je 0x8375f6a5
mov al, byte [esi + 0x19b]
and al, 0x38
cmp al, 0x10
jne 0x8375f628
xor eax, eax
push eax
push eax
push eax
push eax
push 2
push esi
call fcn.837a88bc
jmp 0x8375f6a5
cmp dword [0x87107e34], 1
jne 0x8375f6a5
mov al, byte [0x87107e38]
cmp al, 5
jae 0x8375f63e
test al, al
jne 0x8375f6a5
mov ecx, dword [0x87107e24]
mov edi, 0x80000001
and ecx, edi
xor eax, eax
or eax, ecx
je 0x8375f6a5
mov edx, dword [0x87107e2c]
mov eax, edx
xor ecx, ecx
and eax, edi
cmp ecx, dword [0x87107e28]
jne 0x8375f6a5
cmp eax, edx
jne 0x8375f6a5
xor eax, eax
movzx ecx, word [esi + 0x14e]
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push ecx
push eax
push eax
push esi
lea eax, [ebp - 0x14]
push eax
push 0x870f4c90
push dword [0x87107e0c]
mov dword [ebp - 0x14], esi
push dword [0x87107e08]
call fcn.8379955e
push esi
call fcn.837687f9
test al, al
je 0x8375f6b9
mov edx, dword [ebp + 0xc]
mov ecx, esi
call fcn.837829bb
movzx eax, word [esi + 0x19e]
mov edi, dword [ebp - 0x1c]
test ax, ax
je 0x8375f7b7
test al, 1
je 0x8375f6e1
mov eax, dword [esi + 0x1d0]
mov eax, dword [eax]
add dword [eax + 0x38], edi
push 0
pop ecx
adc dword [eax + 0x3c], ecx
test byte [esi + 0x19e], 2
je 0x8375f7b7
mov al, byte [esi + 0x68]
test al, al
je 0x8375f705
cmp al, 3
jae 0x8375f705
mov eax, dword [esi + 0x1d0]
mov eax, dword [eax + 8]
add dword [eax + 0x50], edi
cmp byte [ebp - 0x15], 0
je 0x8375f7b7
mov eax, dword [esi + 0x1d0]
mov eax, dword [eax + 8]
inc dword [eax + 0x74]
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
mov eax, ebx
imul eax, eax, 0xa
mov dword [ecx + 0x64], eax
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
mov edx, dword [ecx + 0x64]
add dword [ecx + 0x70], edx
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
cmp byte [ecx + 0x38], 0
je 0x8375f769
mov byte [ecx + 0x38], 0
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
inc dword [ecx + 0x34]
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
mov edx, dword [ecx + 0x64]
add dword [ecx + 0x30], edx
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
cmp dword [ecx + 0x68], eax
jae 0x8375f77a
mov dword [ecx + 0x68], eax
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
cmp dword [ecx + 0x6c], eax
jbe 0x8375f78b
mov dword [ecx + 0x6c], eax
push esi
call fcn.8375a299
imul eax, eax, 0xa
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
cmp dword [ecx + 0x7c], eax
jae 0x8375f7a5
mov dword [ecx + 0x7c], eax
mov ecx, dword [esi + 0x1d0]
mov ecx, dword [ecx + 8]
sub ecx, 0xffffff80
cmp dword [ecx], eax
jbe 0x8375f7b7
mov dword [ecx], eax
mov eax, dword [esi + 0xc4]
cmp edi, eax
jne 0x8375f98e
and dword [esi + 0xc4], 0
jmp 0x8375f975
mov edi, dword [esi + 0xc8]
mov eax, dword [edi]
mov dword [esi + 0xc8], eax
mov eax, dword [edi + 0x30]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [edi + 0xc], edx
mov dword [edi + 0x18], edx
movzx eax, word [esi + 0x3a]
mov dword [ebp - 0x30], eax
movzx eax, word [esi + 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x28], ecx
mov ecx, dword [0x8710ebec]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x24], ecx
cmp ecx, edx
je 0x8375f95c
cmp word [esi + 0x178], 2
jne 0x8375f898
cmp eax, edx
je 0x8375f842
push eax
call dword [0x870f4198]
mov dword [ebp - 0x64], eax
jmp 0x8375f845
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x52], ax
mov ax, word [ebp - 0x30]
push 0xa
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x60], ebx
pop ebx
div ebx
xor ecx, ecx
xor edx, edx
push ecx
push 0x24
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x1c]
div ebx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x64]
push eax
push 0x60a
jmp 0x8375f959
xor ecx, ecx
cmp dword [0x8710ea68], 6
setne cl
dec ecx
and ecx, 0xfffffe00
add ecx, 0x81a
mov dword [ebp - 0x3c], ecx
cmp eax, edx
je 0x8375f8c7
push eax
call dword [0x870f4198]
mov dword [ebp - 0xa0], eax
jmp 0x8375f8cd
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x88]
sub edx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x9c], ebx
lea ebx, [ebp - 0x88]
xor ecx, ecx
sub eax, ebx
mov dword [ebp - 0x38], eax
mov eax, ecx
shl eax, 2
lea ebx, [eax + edx]
mov ebx, dword [ebp + ebx - 0x88]
mov dword [ebp + eax - 0x88], ebx
mov ebx, dword [ebp - 0x38]
add ebx, eax
mov ebx, dword [ebp + ebx - 0x88]
inc ecx
mov dword [ebp + eax - 0x98], ebx
cmp ecx, 4
jb 0x8375f8ee
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x76], ax
mov ax, word [ebp - 0x30]
push 0xa
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0x20]
pop ebx
xor edx, edx
div ebx
xor ecx, ecx
xor edx, edx
push ecx
push 0x3c
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x1c]
div ebx
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x3c]
call dword [ebp - 0x24]
lea eax, [edi + 0x10]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x8375f975
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov dword [ecx], edi
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [eax], ecx
cmp dword [esi + 0xc8], 0
jne 0x8375f7d1
and dword [esi + 0xcc], 0
jmp 0x8375fbb5
sub eax, edi
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xc8]
cmp edi, dword [eax + 0x18]
jb 0x8375fb61
mov edi, dword [esi + 0xc8]
mov eax, dword [edi]
mov dword [esi + 0xc8], eax
mov eax, dword [edi + 0x18]
sub dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x30]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x28], eax
xor edx, edx
mov dword [edi + 0xc], edx
mov dword [edi + 0x18], edx
movzx eax, word [esi + 0x3a]
mov dword [ebp - 0x2c], eax
movzx eax, word [esi + 0x38]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov ecx, dword [0x8710ebec]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x38], ecx
cmp ecx, edx
je 0x8375fb36
cmp word [esi + 0x178], 2
jne 0x8375fa72
cmp eax, edx
je 0x8375fa1c
push eax
call dword [0x870f4198]
mov dword [ebp - 0x64], eax
jmp 0x8375fa1f
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov ax, word [ebp - 0x30]
mov word [ebp - 0x52], ax
mov ax, word [ebp - 0x2c]
push 0xa
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x60], ebx
pop ebx
div ebx
xor ecx, ecx
xor edx, edx
push ecx
push 0x24
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x1c]
div ebx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x64]
push eax
push 0x60a
jmp 0x8375fb33
xor ecx, ecx
cmp dword [0x8710ea68], 6
setne cl
dec ecx
and ecx, 0xfffffe00
add ecx, 0x81a
mov dword [ebp - 0x34], ecx
cmp eax, edx
je 0x8375faa1
push eax
call dword [0x870f4198]
mov dword [ebp - 0xa0], eax
jmp 0x8375faa7
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x88]
sub edx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x9c], ebx
lea ebx, [ebp - 0x88]
xor ecx, ecx
sub eax, ebx
mov dword [ebp - 0x3c], eax
mov eax, ecx
shl eax, 2
lea ebx, [eax + edx]
mov ebx, dword [ebp + ebx - 0x88]
mov dword [ebp + eax - 0x88], ebx
mov ebx, dword [ebp - 0x3c]
add ebx, eax
mov ebx, dword [ebp + ebx - 0x88]
inc ecx
mov dword [ebp + eax - 0x98], ebx
cmp ecx, 4
jb 0x8375fac8
mov ax, word [ebp - 0x30]
mov word [ebp - 0x76], ax
mov ax, word [ebp - 0x2c]
push 0xa
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0x28]
pop ebx
xor edx, edx
div ebx
xor ecx, ecx
xor edx, edx
push ecx
push 0x3c
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0x1c]
div ebx
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x34]
call dword [ebp - 0x38]
lea eax, [edi + 0x10]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x8375fb4f
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov dword [ecx], edi
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax + 0x18]
jae 0x8375f9a5
cmp dword [ebp - 0x1c], 0
je 0x8375fbb5
mov eax, dword [esi + 0xc8]
mov edi, dword [ebp - 0x1c]
sub dword [eax + 0x18], edi
mov edx, dword [esi + 0xc8]
lea eax, [edx + 0x1c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
sub ecx, dword [edx + 0x20]
cmp edi, ecx
jb 0x8375fbac
mov edx, dword [eax]
mov edx, dword [edx]
mov dword [eax], edx
mov eax, dword [esi + 0xc8]
sub edi, ecx
add eax, 0x1c
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
cmp edi, ecx
jae 0x8375fb88
mov eax, dword [esi + 0xc8]
and dword [eax + 0x20], 0
mov eax, dword [esi + 0xc8]
add dword [eax + 0x20], edi
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
xor edi, edi
mov dword [eax], edi
mov eax, dword [esi + 0x48]
mov dword [esi + 0x44], ecx
cmp dword [esi + 0xc4], edi
jne 0x8375fbe7
sub eax, ecx
jns 0x8375fbd6
mov dword [esi + 0x48], ecx
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0xd0], edi
mov dword [esi + 0xcc], eax
jmp 0x8375fc22
sub eax, ecx
jns 0x8375fc19
mov eax, dword [esi + 0xc8]
mov dword [esi + 0x48], ecx
mov dword [esi + 0xd0], eax
cmp eax, edi
je 0x8375fc19
mov edx, dword [eax + 0x18]
mov dword [esi + 0xd4], edx
mov edx, dword [eax + 0x1c]
mov dword [esi + 0xd8], edx
mov eax, dword [eax + 0x20]
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 0x50]
sub eax, ecx
test eax, eax
jg 0x8375fc29
and dword [esi + 0x3c], 0xffffefff
test byte [esi + 0x174], 0x80
jne 0x8375fe1f
mov cx, word [esi + 0x40]
mov eax, 0x800
mov edx, eax
and cx, dx
cmp cx, ax
jne 0x8375fc9c
cmp byte [esi + 0x80], 1
jbe 0x8375fc9c
mov eax, dword [0x87100000]
cmp eax, 0x87100000
je 0x8375fc7d
cmp byte [eax + 0x1d], 4
jb 0x8375fc7d
test byte [eax + 0x20], 0x80
je 0x8375fc7d
push esi
push 0x870f5780
push 0xb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.837966dc
movzx eax, word [esi + 0x40]
mov byte [esi + 0x80], 0
test eax, 0x600
je 0x8375fc9c
shr eax, 9
and eax, 3
push eax
push esi
call fcn.83799f15
mov ax, word [esi + 0x40]
shr ax, 0xb
and ax, 1
je 0x8375fcc0
cmp ax, 1
jne 0x8375fd8d
cmp byte [esi + 0x80], al
jne 0x8375fd79
mov ebx, 0x400000
test dword [esi + 0x174], ebx
jne 0x8375fd79
mov edx, dword [esi + 0x3c]
mov ecx, 0x80000000
and edx, ecx
cmp edx, ecx
jne 0x8375fd79
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x44]
sub edx, ecx
mov dword [ebp - 0x34], ecx
test edx, edx
jle 0x8375fd79
cmp dword [0x87107e34], 1
jne 0x8375fd68
mov al, byte [0x87107e38]
cmp al, 4
jae 0x8375fd0c
test al, al
jne 0x8375fd68
mov ecx, dword [0x87107e24]
mov edx, 0x80000001
and ecx, edx
xor eax, eax
or eax, ecx
je 0x8375fd68
mov ecx, dword [0x87107e2c]
mov eax, ecx
and eax, edx
xor edx, edx
cmp edx, dword [0x87107e28]
jne 0x8375fd68
cmp eax, ecx
jne 0x8375fd68
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x34]
lea eax, [ebp - 0x14]
push esi
push eax
push 0x870f5350
push dword [0x87107e0c]
mov dword [ebp - 0x14], esi
push dword [0x87107e08]
call fcn.83799691
xor edi, edi
push dword [ebp + 0x18]
or dword [esi + 0x174], ebx
push esi
call fcn.83740e40
jmp 0x8375fd8d
cmp ax, 1
jne 0x8375fd8d
cmp byte [esi + 0x80], al
jne 0x8375fd8d
push esi
call fcn.837adf34
mov eax, dword [esi + 0x44]
mov ecx, eax
sub ecx, dword [esi + 0x58]
test ecx, ecx
jle 0x8375fe1f
mov ecx, dword [esi + 0x60]
add eax, ecx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x58], eax
sub eax, ecx
jns 0x8375fdaf
mov dword [esi + 0x58], ecx
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x1cc]
cmp ecx, edi
je 0x8375fdcf
cmp edx, edi
je 0x8375fdcf
mov eax, dword [0x8710bb04]
cmp dword [ecx + 0x14], eax
jne 0x8375fdcf
cmp dword [edx + 0x10], eax
je 0x8375fddf
push dword [ebp + 0x18]
or dword [esi + 0x3c], 0x80000
push esi
call fcn.83740e40
test dword [esi + 0x174], 0x2000
je 0x8375fdf4
push dword [ebp + 0x18]
push esi
call fcn.837ad8f0
mov eax, dword [esi + 0xc]
cmp byte [eax + 0x5c], 2
jne 0x8375fe1f
push esi
call fcn.8373aed0
push esi
test al, al
jne 0x8375fe0f
call fcn.8373aefc
jmp 0x8375fe1f
call fcn.83756c9c
cmp eax, 0x14
ja 0x8375fe1f
push esi
call fcn.837a0612
movzx eax, word [esi + 0x40]
mov ecx, eax
and ecx, 0x3000
mov edx, 0x1000
cmp cx, dx
jne 0x8375fe8f
and eax, 0xefff
or eax, 0x2000
mov word [esi + 0x40], ax
mov eax, dword [esi + 0x164]
mov ecx, 0x1770
mov dword [esi + 0x158], eax
cmp eax, ecx
jbe 0x8375fe5e
mov dword [esi + 0x158], ecx
mov eax, dword [0x87100000]
cmp eax, 0x87100000
je 0x8375fe8f
cmp byte [eax + 0x1d], 5
jb 0x8375fe8f
test byte [eax + 0x20], 0x80
je 0x8375fe8f
push dword [esi + 0x158]
push esi
push 0x870f5780
push 0xc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.837ae3c7
mov eax, dword [esi + 0x44]
mov byte [esi + 0x168], 0
cmp eax, dword [esi + 0x4c]
jne 0x8375ff2b
mov dword [esi + 0x164], edi
mov dword [esi + 0x200], edi
cmp dword [0x87107e34], 1
jne 0x8375ffc2
mov al, byte [0x87107e38]
cmp al, 5
jae 0x8375fecc
test al, al
jne 0x8375ffc2
mov ecx, dword [0x87107e20]
mov edx, dword [0x87107e24]
mov eax, 0x80000800
and ecx, 4
and edx, eax
or ecx, edx
je 0x8375ffc2
mov ecx, dword [0x87107e28]
mov ebx, dword [0x87107e2c]
mov edx, ecx
mov edi, ebx
and edx, 4
and edi, eax
cmp edx, ecx
jne 0x8375ffc2
cmp edi, ebx
jne 0x8375ffc2
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0
stosd dword es:[edi], eax
push 0
stosd dword es:[edi], eax
push esi
lea eax, [ebp - 0x14]
push eax
push 0x870f4c50
jmp 0x8375ffae
push esi
call fcn.83756bed
push dword [ebp + 0x1c]
mov dword [ebp - 0x34], eax
push eax
push edi
push esi
mov dword [esi + 0x164], eax
call fcn.837579ae
cmp dword [0x87107e34], 1
jne 0x8375ffc2
mov al, byte [0x87107e38]
cmp al, 5
jae 0x8375ff5b
test al, al
jne 0x8375ffc2
mov ecx, dword [0x87107e20]
mov edx, dword [0x87107e24]
mov eax, 0x80000800
and ecx, 4
and edx, eax
or ecx, edx
je 0x8375ffc2
mov ecx, dword [0x87107e28]
mov ebx, dword [0x87107e2c]
mov edx, ecx
mov edi, ebx
and edx, 4
and edi, eax
cmp edx, ecx
jne 0x8375ffc2
cmp edi, ebx
jne 0x8375ffc2
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x34]
imul eax, eax, 0xa
push eax
push 0
push esi
lea eax, [ebp - 0x14]
push eax
push 0x870f4c40
push dword [0x87107e0c]
mov dword [ebp - 0x14], esi
push dword [0x87107e08]
call fcn.837994a1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.83781dcc
leave
ret 0x18