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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xfc
mov eax, dword [esp + 0x12c]
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x114]
mov edi, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x128]
cmp dword [esp + 0x120], eax
cmovle eax, dword [esp + 0x120]
cmp esi, eax
jle 0x108ec4e
mov eax, dword [esp + 0x114]
mov ebx, dword [eax + 8]
mov eax, dword [esp + 0x128]
cmp dword [esp + 0x120], eax
mov dword [esp + 0x30], ebx
jg 0x108e78d
mov eax, dword [esp + 0x118]
sub ebx, edi
mov esi, dword [eax + 4]
mov ebp, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], eax
sub eax, dword [esp + 0x48]
sar eax, 2
sub eax, 1
shl eax, 7
mov edx, eax
mov eax, ebp
sub eax, esi
sar eax, 2
add eax, edx
mov edx, ebx
sar edx, 2
add eax, edx
test eax, eax
mov dword [esp + 0x44], eax
jle 0x108f596
mov ebx, dword [esp + 0x124]
mov edx, eax
jmp 0x108e585
add ebx, 4
sub edx, 1
je 0x108e5fd
mov eax, dword [edi]
mov dword [edi], 0
mov esi, dword [ebx]
mov dword [ebx], eax
test esi, esi
je 0x108e5d3
mov ebp, dword [esi + 4]
test ebp, ebp
je 0x108e5bb
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f241
mov eax, dword [ebp + 4]
lea ecx, [eax - 1]
cmp eax, 1
mov dword [ebp + 4], ecx
je 0x108f254
mov dword [esp + 4], 0xc
mov dword [esp], esi
mov dword [esp + 0x34], edx
call fcn.010a0d5d
mov edx, dword [esp + 0x34]
add edi, 4
cmp edi, dword [esp + 0x30]
jne 0x108e57d
mov eax, dword [esp + 0x48]
add ebx, 4
mov edi, dword [eax + 4]
add eax, 4
sub edx, 1
mov dword [esp + 0x48], eax
lea esi, [edi + 0x200]
mov dword [esp + 0x30], esi
jne 0x108e585
nop
mov ebx, dword [esp + 0x114]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x124]
mov esi, dword [ebx + 0xc]
mov ebx, dword [esp + 0x118]
lea eax, [eax + edi*4]
mov edi, dword [esp + 0x114]
mov dword [esp + 0x48], esi
mov ebp, dword [ebx]
mov esi, ebx
mov ebx, dword [ebx + 4]
mov edi, dword [edi]
mov dword [esp + 0x40], ebx
mov ebx, dword [esi + 0xc]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x114]
mov esi, dword [esp + 0x110]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x58], ebx
mov ebx, dword [esi]
cmp ebx, edi
mov dword [esp + 0x5c], ebx
je 0x108f4f6
cmp dword [esp + 0x124], eax
je 0x108eb68
cmp dword [esp + 0x58], edi
je 0x108f1cb
sub eax, 4
sub edi, 4
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x38]
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov ecx, dword [eax]
mov eax, dword [esp + 0x34]
mov edi, dword [eax]
mov eax, dword [esp + 0x38]
test eax, eax
mov ebx, dword [edi]
je 0x108e700
mov esi, dword [esp + 0x3c]
movzx edx, byte [ebx]
movzx eax, byte [esi]
xor edx, eax
xor al, byte [ecx]
cmp dl, al
jb 0x108e700
ja 0x108eb81
add ecx, 1
lea edx, [esi + 1]
mov dword [esp + 0x4c], edi
add ebx, 1
mov esi, ecx
mov edi, dword [esp + 0x54]
jmp 0x108e6fc
movzx eax, byte [edx]
movzx ecx, byte [ebx]
xor ecx, eax
xor al, byte [esi]
cmp cl, al
jb 0x108e700
add edx, 1
add ebx, 1
add esi, 1
cmp cl, al
ja 0x108eb7d
cmp edi, edx
jne 0x108e6dd
cmp dword [esp + 0x40], ebp
je 0x108ec0d
mov eax, dword [esp + 0x30]
lea ebx, [ebp - 4]
mov dword [eax], 0
mov esi, dword [ebp - 4]
mov eax, dword [esp + 0x44]
test esi, esi
mov dword [ebp - 4], eax
je 0x108e75b
mov edi, dword [esi + 4]
test edi, edi
je 0x108e74b
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f41d
mov eax, dword [edi + 4]
lea edx, [eax - 1]
cmp eax, 1
mov dword [edi + 4], edx
je 0x108f430
mov dword [esp + 4], 0xc
mov dword [esp], esi
call fcn.010a0d5d
mov edi, dword [esp + 0x30]
cmp dword [esp + 0x5c], edi
je 0x108f2ac
mov edi, dword [esp + 0x58]
cmp dword [esp + 0x30], edi
je 0x108ec2d
sub dword [esp + 0x30], 4
mov ebp, ebx
jmp 0x108e68f
mov eax, dword [esp + 0x110]
cmp esi, dword [esp + 0x120]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x114]
mov ebx, dword [eax + 4]
jg 0x108f04f
mov eax, dword [esp + 0x120]
shr eax, 0x1f
add eax, dword [esp + 0x120]
mov ebp, eax
mov eax, edi
sub eax, ebx
sar ebp, 1
sar eax, 2
mov dword [esp + 0x50], ebp
add eax, ebp
mov ecx, eax
js 0x108fc2d
sar ecx, 7
cmp eax, 0x7f
jle 0x108fb87
mov ebp, dword [esp + 0x48]
lea ebp, [ebp + ecx*4]
shl ecx, 7
sub eax, ecx
mov dword [esp + 0x7c], ebp
mov ebp, dword [ebp]
mov dword [esp + 0x64], ebp
add ebp, 0x200
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x64]
lea eax, [ebp + eax*4]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edi
lea edi, [esp + 0xd0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], edi
mov dword [esp + 8], edi
lea edi, [esp + 0xc0]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xe0]
mov dword [esp + 4], edi
mov dword [esp + 0x6c], edi
mov dword [esp], eax
mov dword [esp + 0x74], eax
call fcn.0108a18d
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x110]
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x34], eax
sub eax, dword [edx + 0xc]
sar eax, 2
sub eax, 1
shl eax, 7
mov edx, eax
mov eax, edi
mov edi, dword [esp + 0x110]
sub eax, ebx
sar eax, 2
add eax, edx
mov edx, dword [edi + 8]
sub edx, dword [edi]
sar edx, 2
add eax, edx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x114]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x114]
mov eax, esi
sub eax, dword [esp + 0x78]
mov edi, dword [edi + 4]
mov dword [esp + 0x84], eax
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x50]
cmp eax, edi
jle 0x108f1e8
cmp edi, dword [esp + 0x128]
jg 0x108f1e8
test edi, edi
jne 0x108f6bc
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], ebp
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x20], edx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
call fcn.0108e4ad
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x128]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc8], esi
mov eax, dword [eax]
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 4]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 8]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0x20], edx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], edi
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x120]
sub edi, dword [esp + 0x50]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0xc], edi
call fcn.0108e4ad
add esp, 0xfc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x4c]
cmp dword [esp + 0x40], ebp
je 0x108ebef
mov eax, dword [esp + 0x34]
lea esi, [ebp - 4]
mov dword [eax], 0
mov ebx, dword [ebp - 4]
mov dword [ebp - 4], edi
test ebx, ebx
je 0x108ebd4
mov edi, dword [ebx + 4]
test edi, edi
je 0x108ebc4
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f3c1
mov eax, dword [edi + 4]
lea edx, [eax - 1]
cmp eax, 1
mov dword [edi + 4], edx
je 0x108f3d4
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call fcn.010a0d5d
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x124], eax
je 0x108eb68
sub eax, 4
mov ebp, esi
mov dword [esp + 0x34], eax
jmp 0x108e68f
mov eax, dword [esp + 0x50]
mov esi, dword [eax - 4]
sub eax, 4
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], esi
lea ebp, [esi + 0x200]
jmp 0x108eb87
mov eax, dword [esp + 0x50]
mov edi, dword [eax - 4]
sub eax, 4
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], edi
lea ebp, [edi + 0x200]
jmp 0x108e70a
mov eax, dword [esp + 0x48]
mov edi, dword [eax - 4]
sub eax, 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], edi
add edi, 0x200
mov dword [esp + 0x30], edi
jmp 0x108e777
mov eax, dword [esp + 0x110]
mov esi, dword [eax + 8]
mov ebp, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], esi
sub esi, ebp
mov ebx, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
sub eax, ebx
mov ebx, dword [esp + 0x114]
sar eax, 2
sub eax, 1
shl eax, 7
mov edx, eax
mov eax, edi
sub eax, dword [ebx + 4]
sar eax, 2
add eax, edx
mov edx, esi
sar edx, 2
add edx, eax
test edx, edx
mov dword [esp + 0x40], edx
jle 0x108fb5c
mov ebx, dword [esp + 0x124]
jmp 0x108ecb5
add ebx, 4
sub edx, 1
je 0x108ed2e
mov eax, dword [ebp]
mov dword [ebp], 0
mov esi, dword [ebx]
mov dword [ebx], eax
test esi, esi
je 0x108ed05
mov edi, dword [esi + 4]
test edi, edi
je 0x108eced
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f357
mov eax, dword [edi + 4]
lea ecx, [eax - 1]
cmp eax, 1
mov dword [edi + 4], ecx
je 0x108f36a
mov dword [esp + 4], 0xc
mov dword [esp], esi
mov dword [esp + 0x30], edx
call fcn.010a0d5d
mov edx, dword [esp + 0x30]
add ebp, 4
cmp dword [esp + 0x34], ebp
jne 0x108ecad
mov eax, dword [esp + 0x50]
add ebx, 4
mov ebp, dword [eax + 4]
add eax, 4
sub edx, 1
mov dword [esp + 0x50], eax
lea edi, [ebp + 0x200]
mov dword [esp + 0x34], edi
jne 0x108ecb5
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x124]
lea eax, [eax + edi*4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x114]
mov edi, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x110]
mov ebp, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x114]
mov eax, dword [esp + 0x118]
mov ebx, dword [esi + 8]
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x124], esi
mov eax, dword [eax]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], eax
je 0x108eb68
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x38]
cmp eax, edi
je 0x108eeec
mov dword [esp + 0x30], edi
mov edi, ebx
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov ebx, dword [eax]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x108ee20
mov esi, dword [esp + 0x3c]
movzx edx, byte [ebx]
movzx eax, byte [esi]
xor edx, eax
xor al, byte [ecx]
cmp al, dl
ja 0x108ee20
jb 0x108ef8d
add ecx, 1
lea edx, [esi + 1]
add ebx, 1
mov esi, ecx
jmp 0x108ee1c
movzx eax, byte [edx]
movzx ecx, byte [ebx]
xor ecx, eax
xor al, byte [esi]
cmp cl, al
jb 0x108ee20
add edx, 1
add ebx, 1
add esi, 1
cmp cl, al
ja 0x108ef8d
cmp edi, edx
jne 0x108edfd
mov eax, dword [esp + 0x30]
mov dword [eax], 0
mov ebx, dword [ebp]
mov eax, dword [esp + 0x40]
test ebx, ebx
mov dword [ebp], eax
je 0x108eead
mov esi, dword [ebx + 4]
test esi, esi
je 0x108ee9d
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f489
mov eax, dword [esi + 4]
lea edx, [eax - 1]
mov dword [esi + 4], edx
cmp eax, 1
jne 0x108ee9d
mov eax, dword [esi]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x109038a
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f7b5
mov edx, dword [esi + 8]
lea eax, [edx - 1]
mov dword [esi + 8], eax
cmp edx, 1
jne 0x108ee9d
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x109048e
call dword [edx + 4]
lea esi, [esi]
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call fcn.010a0d5d
add dword [esp + 0x30], 4
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x58]
je 0x108f220
add ebp, 4
cmp ebp, dword [esp + 0x34]
je 0x108f032
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x124], eax
je 0x108eb68
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x54], ebx
jne 0x108edb0
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x124]
mov esi, dword [esp + 0x124]
mov ebx, eax
sar ebx, 2
test eax, eax
jg 0x108ef16
jmp 0x108eb68
sub ebx, 1
je 0x108eb68
mov eax, dword [esi]
mov dword [esi], 0
mov edi, dword [ebp]
mov dword [ebp], eax
test edi, edi
je 0x108ef5e
mov edx, dword [edi + 4]
test edx, edx
je 0x108ef4e
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f47a
mov eax, dword [edx + 4]
lea ecx, [eax - 1]
mov dword [edx + 4], ecx
cmp eax, 1
je 0x108f4a7
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.010a0d5d
add esi, 4
add ebp, 4
cmp ebp, dword [esp + 0x34]
jne 0x108ef0d
mov eax, dword [esp + 0x50]
mov ebp, dword [eax + 4]
add eax, 4
mov dword [esp + 0x50], eax
lea edi, [ebp + 0x200]
mov dword [esp + 0x34], edi
jmp 0x108ef0d
mov eax, dword [esp + 0x124]
mov dword [eax], 0
mov ebx, dword [ebp]
mov eax, dword [esp + 0x44]
test ebx, ebx
mov dword [ebp], eax
je 0x108f01d
mov esi, dword [ebx + 4]
test esi, esi
je 0x108f00d
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f498
mov eax, dword [esi + 4]
lea edx, [eax - 1]
mov dword [esi + 4], edx
cmp eax, 1
jne 0x108f00d
mov eax, dword [esi]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x1090393
mov eax, dword [0x82f550]
test eax, eax
jne 0x108f7c4
mov edx, dword [esi + 8]
lea eax, [edx - 1]
mov dword [esi + 8], eax
cmp edx, 1
jne 0x108f00d
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x1090495
call dword [edx + 4]
lea esi, [esi]
mov dword [esp + 4], 0xc
mov dword [esp], ebx
call fcn.010a0d5d
add dword [esp + 0x124], 4
add ebp, 4
cmp ebp, dword [esp + 0x34]
jne 0x108eecd
mov eax, dword [esp + 0x50]
mov ebp, dword [eax + 4]
add eax, 4
mov dword [esp + 0x50], eax
lea ebx, [ebp + 0x200]
mov dword [esp + 0x34], ebx
jmp 0x108eecd
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
mov ebp, eax
mov dword [esp + 0x78], eax
mov eax, edx
sub eax, ecx
sar eax, 2
add eax, ebp
mov ecx, eax
js 0x108fc3b
sar ecx, 7
cmp eax, 0x7f
jle 0x108fb7b
mov edx, dword [esp + 0x34]
lea edx, [edx + ecx*4]
shl ecx, 7
sub eax, ecx
mov dword [esp + 0x34], edx
mov edx, dword [edx]
lea ebp, [edx + 0x200]
lea eax, [edx + eax*4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0xc4], ebx
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edi
lea edi, [esp + 0xd0]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x70], edi
lea eax, [esp + 0xe0]
mov dword [esp + 8], edi
lea edi, [esp + 0xc0]
mov dword [esp], eax
mov dword [esp + 0x74], eax
mov dword [esp + 4], edi
mov dword [esp + 0x6c], edi
call fcn.01089f5d
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x114]
mov edi, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xec]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x68], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x7c], eax
sub eax, edx
mov dword [esp + 0x30], ebp
sar eax, 2
mov dword [esp + 0x54], ebx
sub ebx, ebp
sub eax, 1
shl eax, 7
mov edx, eax
mov eax, edi
sub eax, ecx
sar eax, 2
add eax, edx
mov edx, ebx
sar edx, 2
add eax, edx
mov dword [esp + 0x50], eax
jmp 0x108e94d
mov ebx, dword [esp + 0x48]
mov edi, dword [ebx - 4]
sub ebx, 4
mov dword [esp + 0x48], ebx
mov dword [esp + 0x58], edi
add edi, 0x200
jmp 0x108e675
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0x128]
jg 0x108f5a2
test eax, eax
jne 0x108fc49
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x30], eax
jmp 0x108e99d
mov eax, dword [esp + 0x48]
mov esi, dword [eax + 4]
add eax, 4
mov dword [esp + 0x48], eax
lea ebx, [esi + 0x200]
mov dword [esp + 0x30], esi
mov dword [esp + 0x58], ebx
jmp 0x108eec0
mov eax, 0xffffffff
lock xadd dword [ebp + 4], eax
cmp eax, 1
jne 0x108e5bb
mov eax, dword [ebp]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x10900e9
mov eax, dword [0x82f550]
test eax, eax
jne 0x108fb6c
mov eax, dword [ebp + 8]
lea ecx, [eax - 1]
mov dword [ebp + 8], ecx
cmp eax, 1
jne 0x108e5bb
mov eax, dword [ebp]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0x34], ecx
jne 0x1090359
mov dword [esp + 0x34], edx
mov ecx, ebp
call dword [eax + 4]
mov edx, dword [esp + 0x34]
jmp 0x108e5bb
mov edi, dword [esp + 0x34]
lea eax, [edi + 4]
sub eax, dword [esp + 0x124]
mov esi, eax
sar esi, 2
test eax, eax
jle 0x108eb68
lea eax, [esi*4]
sub edi, eax
mov eax, ebx
mov ebp, edi
jmp 0x108f338
mov edx, dword [ebp + esi*4]
mov dword [ebp + esi*4], 0
lea ebx, [eax - 4]
mov edi, dword [eax - 4]
mov dword [eax - 4], edx
test edi, edi
je 0x108f32d
mov edx, dword [edi + 4]
test edx, edx
je 0x108f31d
mov ecx, dword [0x82f550]
test ecx, ecx
jne 0x108f784
mov eax, dword [edx + 4]
lea ecx, [eax - 1]
mov dword [edx + 4], ecx
cmp eax, 1
je 0x108fbca
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.010a0d5d
sub esi, 1
mov eax, ebx
je 0x108eb68
cmp dword [esp + 0x40], eax
jne 0x108f2dd
mov edi, dword [esp + 0x50]
mov eax, dword [edi - 4]
sub edi, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x40], eax
add eax, 0x200
jmp 0x108f2dd
mov eax, 0xffffffff
lock xadd dword [edi + 4], eax
cmp eax, 1
jne 0x108eced
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x109016e
mov ecx, dword [0x82f550]
test ecx, ecx
jne 0x108fd20
mov eax, dword [edi + 8]
lea ecx, [eax - 1]
mov dword [edi + 8], ecx
cmp eax, 1
jne 0x108eced
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0x30], ecx
jne 0x1090375
mov dword [esp + 0x30], edx
mov ecx, edi
call dword [eax + 4]
mov edx, dword [esp + 0x30]
jmp 0x108eced
mov eax, 0xffffffff
lock xadd dword [edi + 4], eax
cmp eax, 1
jne 0x108ebc4
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x10901f1
mov eax, dword [0x82f550]
test eax, eax
jne 0x108fd2f
mov eax, dword [edi + 8]
lea edx, [eax - 1]
mov dword [edi + 8], edx
cmp eax, 1
jne 0x108ebc4
mov edx, dword [edi]
mov ecx, edi
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x109036e
call dword [edx + 4]
jmp 0x108ebc4
mov eax, 0xffffffff
lock xadd dword [edi + 4], eax
cmp eax, 1
jne 0x108e74b
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x10901e8
mov ebp, dword [0x82f550]
test ebp, ebp
jne 0x108fd4d
mov eax, dword [edi + 8]
lea edx, [eax - 1]
mov dword [edi + 8], edx
cmp eax, 1
jne 0x108e74b
mov edx, dword [edi]
mov ecx, edi
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x1090352
call dword [edx + 4]
jmp 0x108e74b
mov eax, 0xffffffff
lock xadd dword [edx + 4], eax
jmp 0x108ef45
mov eax, 0xffffffff
lock xadd dword [esi + 4], eax
jmp 0x108ee55
mov eax, 0xffffffff
lock xadd dword [esi + 4], eax
jmp 0x108efc5
mov eax, dword [edx]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x108f793
mov ecx, dword [0x82f550]
test ecx, ecx
jne 0x108f7a4
mov ecx, dword [edx + 8]
lea eax, [ecx - 1]
mov dword [edx + 8], eax
cmp ecx, 1
jne 0x108ef4e
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0x30], ecx
mov ecx, edx
jne 0x1090347
call dword [eax + 4]
jmp 0x108ef4e
mov edx, eax
sub edx, dword [esp + 0x124]
mov ebx, edx
sar ebx, 2
test edx, edx
jle 0x108eb68
lea edx, [ebx*4]
sub eax, edx
mov edi, eax
mov eax, ebp
jmp 0x108f577
mov edx, dword [edi + ebx*4 - 4]
mov dword [edi + ebx*4 - 4], 0
lea ebp, [eax - 4]
mov esi, dword [eax - 4]
mov dword [eax - 4], edx
test esi, esi
je 0x108f56c
mov edx, dword [esi + 4]
test edx, edx
je 0x108f55c
mov eax, dword [0x82f550]
test eax, eax
jne 0x1090109
mov eax, dword [edx + 4]
lea ecx, [eax - 1]
mov dword [edx + 4], ecx
cmp eax, 1
je 0x1090118
mov dword [esp + 4], 0xc
mov dword [esp], esi
call fcn.010a0d5d
sub ebx, 1
mov eax, ebp
je 0x108eb68
cmp eax, dword [esp + 0x40]
jne 0x108f51d
mov esi, dword [esp + 0x50]
mov eax, dword [esi - 4]
sub esi, 4
mov dword [esp + 0x50], esi
mov dword [esp + 0x40], eax
add eax, 0x200
jmp 0x108f51d
mov eax, dword [esp + 0x124]
jmp 0x108e63b
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x88]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xc8], ecx
mov edi, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xec], ebx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xcc], ecx
mov dword [esp], eax
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xc0], edi
mov dword [esp + 4], edx
mov byte [esp + 0x10], 0
call fcn.01024b3d
mov eax, ebx
sub eax, dword [esp + 0x40]
sub esi, dword [esp + 0x64]
mov edx, edi
sar eax, 2
mov ecx, esi
mov esi, dword [esp + 0x4c]
sub eax, 1
sar ecx, 2
shl eax, 7
add eax, ecx
mov ecx, ebp
sub ecx, dword [esp + 0x30]
sub edx, esi
sar edx, 2
sar ecx, 2
add ecx, eax
add edx, ecx
mov eax, edx
js 0x108f7d3
sar eax, 7
cmp edx, 0x7f
jle 0x1090245
mov edi, dword [esp + 0x34]
lea ebp, [edi + eax*4]
shl eax, 7
sub edx, eax
mov edi, dword [ebp]
lea esi, [edi + 0x200]
lea ebx, [edi + edx*4]
mov dword [esp + 0x30], esi
jmp 0x108e99d
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x68]
sub edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x30]
sub eax, edi
sar eax, 2
sub eax, 1
sar edx, 2
shl eax, 7
add eax, edx
mov edx, dword [esp + 0x54]
sub edx, ebx
sar edx, 2
add eax, edx
test eax, eax
mov dword [esp + 0x80], eax
jle 0x108f7e0
mov dword [esp + 0x60], edi
mov esi, dword [esp + 0x124]
mov dword [esp + 0x58], eax
jmp 0x108f71b
add esi, 4
sub dword [esp + 0x58], 1
je 0x108fbaa
mov eax, dword [ebx]
mov dword [ebx], 0
mov edi, dword [esi]
mov dword [esi], eax
test edi, edi
je 0x108f761
mov ebp, dword [edi + 4]
test ebp, ebp
je 0x108f751
mov eax, dword [0x82f550]
test eax, eax
jne 0x109017f
mov eax, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [ebp + 4], edx
cmp eax, 1
je 0x10901fa
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.010a0d5d
add ebx, 4
cmp ebx, dword [esp + 0x54]
jne 0x108f70d
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 4]
add eax, 4
mov dword [esp + 0x60], eax
lea edi, [ebx + 0x200]
mov dword [esp + 0x54], edi
jmp 0x108f70d
mov eax, 0xffffffff
lock xadd dword [edx + 4], eax
jmp 0x108f314
mov ecx, edx
mov dword [esp + 0x30], edx
call eax
mov edx, dword [esp + 0x30]
jmp 0x108f4b7
mov eax, 0xffffffff
lock xadd dword [edx + 8], eax
mov ecx, eax
jmp 0x108f4ce
mov edx, 0xffffffff
lock xadd dword [esi + 8], edx
jmp 0x108ee80
mov edx, 0xffffffff
lock xadd dword [esi + 8], edx
jmp 0x108eff0
shr eax, 7
or eax, 0xfe000000
jmp 0x108f69b
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x48]
sar eax, 2
sub eax, 1
sar edx, 2
shl eax, 7
add eax, edx
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x5c]
sar edx, 2
add eax, edx
test eax, eax
mov dword [esp + 0x54], eax
jle 0x108f9dd
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], eax
nop
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x48]
mov eax, edi
sub eax, ebx
sar eax, 2
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x80]
sar eax, 2
cmp edi, ebx
mov dword [esp + 0x90], eax
jne 0x108fa8f
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x60], ebx
mov eax, dword [eax - 4]
mov dword [esp + 0x58], eax
lea edi, [eax + 0x200]
mov eax, pe_nt_image_headers32
jne 0x108faab
mov ebx, dword [esp + 0x94]
mov ecx, pe_nt_image_headers32
mov ebx, dword [ebx - 4]
lea edx, [ebx + 0x200]
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0x54]
cmp esi, eax
cmovle eax, esi
cmp eax, ecx
cmovle ecx, eax
lea eax, [ecx*4]
mov dword [esp + 0x58], ecx
mov ebx, eax
sar ebx, 2
test eax, eax
jle 0x108f944
lea eax, [ebx*4]
neg eax
add edx, eax
add edi, eax
mov ebp, edx
mov eax, dword [edi + ebx*4 - 4]
mov dword [edi + ebx*4 - 4], 0
mov esi, dword [ebp + ebx*4 - 4]
mov dword [ebp + ebx*4 - 4], eax
test esi, esi
je 0x108f93f
mov edx, dword [esi + 4]
test edx, edx
je 0x108f92f
mov eax, dword [0x82f550]
test eax, eax
jne 0x108fabb
mov eax, dword [edx + 4]
lea ecx, [eax - 1]
cmp eax, 1
mov dword [edx + 4], ecx
je 0x108face
mov dword [esp + 4], 0xc
mov dword [esp], esi
call fcn.010a0d5d
sub ebx, 1
jne 0x108f8f1
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x58]
sub eax, edi
mov edx, eax
js 0x108fb4e
sar edx, 7
cmp eax, 0x7f
jle 0x108fb30
mov edi, dword [esp + 0x40]
lea edi, [edi + edx*4]
shl edx, 7
sub eax, edx
mov dword [esp + 0x40], edi
mov edi, dword [edi]
lea eax, [edi + eax*4]
mov dword [esp + 0x48], edi
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x58]
sub eax, edi
mov edx, eax
js 0x108fb40
sar edx, 7
cmp eax, 0x7f
jle 0x108fb20
mov edi, dword [esp + 0x94]
lea edi, [edi + edx*4]
shl edx, 7
sub eax, edx
mov dword [esp + 0x94], edi
mov edi, dword [edi]
lea eax, [edi + eax*4]
mov dword [esp + 0x80], edi
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x58]
sub dword [esp + 0x54], edi
mov eax, dword [esp + 0x54]
test eax, eax
jg 0x108f84d
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
test edx, edx
mov dword [esp + 0x30], eax
jle 0x108e99d
mov esi, dword [esp + 0x124]
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], ebp
jmp 0x108fa1f
sub dword [esp + 0x98], 1
je 0x108fc20
mov eax, dword [esi]
mov dword [esi], 0
mov edi, dword [ebx]
mov dword [ebx], eax
test edi, edi
je 0x108fa65
mov ebp, dword [edi + 4]
test ebp, ebp
je 0x108fa55
mov eax, dword [0x82f550]
test eax, eax
jne 0x109018e
mov eax, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [ebp + 4], edx
cmp eax, 1
je 0x109019d
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.010a0d5d
add esi, 4
add ebx, 4
cmp ebx, dword [esp + 0x30]
jne 0x108fa11
mov eax, dword [esp + 0x40]
mov ebx, dword [eax + 4]
add eax, 4
mov dword [esp + 0x40], eax
lea edi, [ebx + 0x200]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x30], edi
jmp 0x108fa11
mov ebx, dword [esp + 0x80]
cmp dword [esp + 0x60], ebx
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x30]
je 0x108f8a7
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
jmp 0x108f8c0
mov eax, 0xffffffff
lock xadd dword [edx + 4], eax
cmp eax, 1
jne 0x108f92f
mov eax, dword [edx]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x1090466
mov ecx, dword [0x82f550]
test ecx, ecx
jne 0x108fd3e
mov eax, dword [edx + 8]
lea ecx, [eax - 1]
mov dword [edx + 8], ecx
cmp eax, 1
jne 0x108f92f
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0xa0], ecx
mov ecx, edx
jne 0x109025b
call dword [eax + 4]
jmp 0x108f92f
lea eax, [edi*4]
sub dword [esp + 0x60], eax
jmp 0x108f9c9
lea eax, [edi*4]
sub dword [esp + 0x30], eax
jmp 0x108f982
shr edx, 7
or edx, 0xfe000000
jmp 0x108f9a3
shr edx, 7
or edx, 0xfe000000
jmp 0x108f965
mov eax, dword [esp + 0x124]
mov dword [esp + 0x4c], eax
jmp 0x108ed6e
mov eax, 0xffffffff
lock xadd dword [ebp + 8], eax
jmp 0x108f27b
lea eax, [edx + ebp*4]
mov dword [esp + 0x5c], eax
jmp 0x108f0a2
lea eax, [edi + ebp*4]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x88], eax
jmp 0x108e830
mov eax, dword [esp + 0x80]
shl eax, 2
mov dword [esp + 0x9c], eax
sar eax, 2
mov dword [esp + 0x98], eax
jmp 0x108f7f6
mov eax, dword [edx]
mov eax, dword [eax + 8]
cmp eax, 0x791010
je 0x108fbe2
mov ecx, edx
mov dword [esp + 0x30], edx
call eax
mov edx, dword [esp + 0x30]
mov eax, dword [0x82f550]
test eax, eax
jne 0x1090278
mov ecx, dword [edx + 8]
lea eax, [ecx - 1]
mov dword [edx + 8], eax
cmp ecx, 1
jne 0x108f31d
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0x30], ecx
mov ecx, edx
jne 0x10903c9
call dword [eax + 4]
jmp 0x108f31d
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x40]
jmp 0x108e99d
shr ecx, 7
or ecx, 0xfe000000
jmp 0x108e7ff
shr ecx, 7
or ecx, 0xfe000000
jmp 0x108f07b
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x5c]
sub eax, esi
sar eax, 2
sub eax, 1
sar edx, 2
shl eax, 7
add eax, edx
mov edx, edi
sub edx, ebx
sar edx, 2
add eax, edx
test eax, eax
mov dword [esp + 0x8c], eax
jle 0x10903e3
mov dword [esp + 0x80], esi
mov dword [esp + 0x58], edi
mov ebp, dword [esp + 0x124]
mov dword [esp + 0x60], eax
jmp 0x108fcaf
add ebp, 4
sub dword [esp + 0x60], 1
je 0x108fd5c
mov eax, dword [ebx]
mov dword [ebx], 0
mov esi, dword [ebp]
mov dword [ebp], eax
test esi, esi
je 0x108fcf7
mov edi, dword [esi + 4]
test edi, edi
je 0x108fce7
mov eax, dword [0x82f550]
test eax, eax
jne 0x1090269
mov eax, dword [edi + 4]
lea edx, [eax - 1]
mov dword [edi + 4], edx
cmp eax, 1
je 0x1090298
mov dword [esp + 4], 0xc
mov dword [esp], esi
call fcn.010a0d5d
add ebx, 4
cmp ebx, dword [esp + 0x58]
jne 0x108fca1
mov eax, dword [esp + 0x80]
mov ebx, dword [eax + 4]
add eax, 4
mov dword [esp + 0x80], eax
lea edi, [ebx + 0x200]
mov dword [esp + 0x58], edi
jmp 0x108fca1
mov eax, 0xffffffff
lock xadd dword [edi + 8], eax
jmp 0x108f391
mov eax, 0xffffffff
lock xadd dword [edi + 8], eax
jmp 0x108f3fa
mov eax, 0xffffffff
lock xadd dword [edx + 8], eax
jmp 0x108faf5
mov eax, 0xffffffff
lock xadd dword [edi + 8], eax
jmp 0x108f457
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x124]
shl eax, 2
add edi, eax
mov dword [esp + 0xa8], eax
sar eax, 2
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x40]
mov edx, dword [esp + 0x68]
sub edx, dword [esp + 0x64]
sar eax, 2
sub eax, 1
sar edx, 2
shl eax, 7
add eax, edx
mov edx, dword [esp + 0x54]
sub edx, dword [esp + 0x30]
sar edx, 2
add eax, edx
test eax, eax
mov dword [esp + 0x60], eax
jle 0x108ff60
mov eax, dword [esp + 0x34]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x8c], eax
lea esi, [esi]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x60]
sub eax, esi
sar eax, 2
mov edx, eax
mov eax, dword [esp + 0x54]
sub eax, ebx
sar eax, 2
cmp edx, eax
cmovle eax, edx
cmp eax, edi
cmovg eax, edi
mov dword [esp + 0x80], eax
shl eax, 2
mov edx, eax
mov dword [esp + 0x9c], eax
sar edx, 2
test eax, eax
jle 0x108fe96
lea esi, [esi]
mov eax, dword [ebx]
mov dword [ebx], 0
mov edi, dword [esi]
mov dword [esi], eax
test edi, edi
je 0x108fe8b
mov ebp, dword [edi + 4]
test ebp, ebp
je 0x108fe73
mov eax, dword [0x82f550]
test eax, eax
jne 0x1090032
mov eax, dword [ebp + 4]
lea ecx, [eax - 1]
mov dword [ebp + 4], ecx
cmp eax, 1
je 0x1090041
mov dword [esp + 4], 0xc
mov dword [esp], edi
mov dword [esp + 0x58], edx
call fcn.010a0d5d
mov edx, dword [esp + 0x58]
add ebx, 4
add esi, 4
sub edx, 1
jne 0x108fe3d
mov edi, dword [esp + 0x30]
mov eax, edi
sub eax, dword [esp + 0x48]
sar eax, 2
add eax, dword [esp + 0x80]
mov edx, eax
js 0x10900c0
sar edx, 7
cmp eax, 0x7f
jle 0x10900ae
mov edi, dword [esp + 0x40]
lea edi, [edi + edx*4]
shl edx, 7
sub eax, edx
mov dword [esp + 0x40], edi
mov edi, dword [edi]
lea ebx, [edi + 0x200]
lea eax, [edi + eax*4]
mov dword [esp + 0x48], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x8c]
mov eax, edi
sub eax, dword [esp + 0x90]
sar eax, 2
add eax, dword [esp + 0x80]
mov edx, eax
js 0x10900ce
sar edx, 7
cmp eax, 0x7f
jle 0x1090099
mov edi, dword [esp + 0x98]
lea edi, [edi + edx*4]
shl edx, 7
sub eax, edx
mov dword [esp + 0x98], edi
mov edi, dword [edi]
lea esi, [edi + 0x200]
lea eax, [edi + eax*4]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
mov dword [esp + 0x8c], eax
mov edi, dword [esp + 0x80]
sub dword [esp + 0x60], edi
mov eax, dword [esp + 0x60]
test eax, eax
jg 0x108fded
mov ecx, dword [esp + 0xa8]
test ecx, ecx
jle 0x108f204
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x7c]
lea eax, [esi*4]
mov dword [esp + 0x54], ebp
sub edi, eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], edi
jmp 0x109000c
mov edi, dword [esp + 0x48]
lea ebx, [eax - 4]
mov edx, dword [edi + esi*4 - 4]
mov dword [edi + esi*4 - 4], 0
mov edi, dword [eax - 4]
mov dword [eax - 4], edx
test edi, edi
je 0x1090001
mov ebp, dword [edi + 4]
test ebp, ebp
je 0x108fff1
mov edx, dword [0x82f550]
test edx, edx
jne 0x1090289
mov eax, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [ebp + 4], edx
cmp eax, 1
je 0x10902e1
mov dword [esp + 4], 0xc
mov dword [esp], edi
call fcn.010a0d5d
sub esi, 1
mov eax, ebx
je 0x10900dc
cmp eax, dword [esp + 0x40]
jne 0x108ffad
mov edi, dword [esp + 0x54]
mov eax, dword [edi - 4]
sub edi, 4
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], eax
add eax, 0x200
mov dword [esp + 0x30], eax
jmp 0x108ffad
mov eax, 0xffffffff
lock xadd dword [ebp + 4], eax
jmp 0x108fe6a
mov eax, dword [ebp]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x109047d
mov eax, dword [0x82f550]
test eax, eax
jne 0x10900fa
mov eax, dword [ebp + 8]
lea ecx, [eax - 1]
mov dword [ebp + 8], ecx
cmp eax, 1
jne 0x108fe73
mov eax, dword [ebp]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0x58], ecx
jne 0x109032c
mov dword [esp + 0x58], edx
mov ecx, ebp
call dword [eax + 4]
mov edx, dword [esp + 0x58]
jmp 0x108fe73
mov eax, dword [esp + 0x9c]
add edi, eax
mov dword [esp + 0x8c], edi
jmp 0x108ff49
mov eax, dword [esp + 0x9c]
add edi, eax
mov dword [esp + 0x30], edi
jmp 0x108fee5
shr edx, 7
or edx, 0xfe000000
jmp 0x108febe
shr edx, 7
or edx, 0xfe000000
jmp 0x108ff13
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
jmp 0x108e99d
mov dword [esp + 0x34], edx
mov ecx, ebp
call eax
mov edx, dword [esp + 0x34]
jmp 0x108f265
mov eax, 0xffffffff
lock xadd dword [ebp + 8], eax
jmp 0x1090068
mov eax, 0xffffffff
lock xadd dword [edx + 4], eax
jmp 0x108f553
mov eax, dword [edx]
mov eax, dword [eax + 8]
cmp eax, 0x791010
je 0x1090130
mov ecx, edx
mov dword [esp + 0x30], edx
call eax
mov edx, dword [esp + 0x30]
mov eax, dword [0x82f550]
test eax, eax
jne 0x10903ab
mov eax, dword [edx + 8]
lea ecx, [eax - 1]
mov dword [edx + 8], ecx
cmp eax, 1
jne 0x108f55c
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
cmp ecx, 0x793b40
mov dword [esp + 0x30], ecx
mov ecx, edx
jne 0x1090429
call dword [eax + 4]
jmp 0x108f55c
mov dword [esp + 0x30], edx
mov ecx, edi
call eax
mov edx, dword [esp + 0x30]
jmp 0x108f37a
mov eax, 0xffffffff
lock xadd dword [ebp + 4], eax
jmp 0x108f748
mov eax, 0xffffffff
lock xadd dword [ebp + 4], eax
jmp 0x108fa4c
mov eax, dword [ebp]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x1090442
mov eax, dword [0x82f550]
test eax, eax
jne 0x10903ba
mov eax, dword [ebp + 8]
lea edx, [eax - 1]
mov dword [ebp + 8], edx
cmp eax, 1
jne 0x108fa55
mov edx, dword [ebp]
mov ecx, ebp
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x109041b
call dword [edx + 4]
jmp 0x108fa55
mov ecx, edi
call eax
jmp 0x108f440
mov ecx, edi
call eax
jmp 0x108f3e4
mov eax, dword [ebp]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x109045d
mov eax, dword [0x82f550]
test eax, eax
jne 0x109039c
mov eax, dword [ebp + 8]
lea edx, [eax - 1]
mov dword [ebp + 8], edx
cmp eax, 1
jne 0x108f751
mov edx, dword [ebp]
mov ecx, ebp
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x1090422
call dword [edx + 4]
jmp 0x108f751
lea ebx, [edi + ecx*4]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x34]
mov edi, esi
mov dword [esp + 0x30], ecx
jmp 0x108e99d
mov eax, dword [esp + 0xa0]
call eax
jmp 0x108f92f
mov eax, 0xffffffff
lock xadd dword [edi + 4], eax
jmp 0x108fcde
mov eax, 0xffffffff
lock xadd dword [edx + 8], eax
mov ecx, eax
jmp 0x108fbf8
mov eax, 0xffffffff
lock xadd dword [ebp + 4], eax
jmp 0x108ffe8
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x109044b
mov eax, dword [0x82f550]
test eax, eax
jne 0x10903d4
mov eax, dword [edi + 8]
lea edx, [eax - 1]
mov dword [edi + 8], edx
cmp eax, 1
jne 0x108fce7
mov edx, dword [edi]
mov ecx, edi
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x1090434
call dword [edx + 4]
jmp 0x108fce7
mov eax, dword [ebp]
mov eax, dword [eax + 8]
cmp eax, 0x791010
jne 0x1090454
mov eax, dword [0x82f550]
test eax, eax
jne 0x109040c
mov eax, dword [ebp + 8]
lea edx, [eax - 1]
mov dword [ebp + 8], edx
cmp eax, 1
jne 0x108fff1
mov edx, dword [ebp]
mov ecx, ebp
mov eax, dword [edx + 0xc]
cmp eax, 0x793b40
jne 0x109043b
call dword [edx + 4]
jmp 0x108fff1
mov dword [esp + 0xac], edx
mov ecx, ebp
mov eax, dword [esp + 0x58]
call eax
mov edx, dword [esp + 0xac]
jmp 0x108fe73
mov eax, dword [esp + 0x30]
call eax
jmp 0x108ef4e
call eax
jmp 0x108e74b
mov dword [esp + 0x40], edx
mov ecx, ebp
mov eax, dword [esp + 0x34]
call eax
mov edx, dword [esp + 0x40]
jmp 0x108e5bb
call eax
jmp 0x108ebc4
mov dword [esp + 0x44], edx
mov ecx, edi
mov eax, dword [esp + 0x30]
call eax
mov edx, dword [esp + 0x44]
jmp 0x108eced
mov ecx, esi
call eax
jmp 0x108ee6a
mov ecx, esi
call eax
jmp 0x108efda
mov eax, 0xffffffff
lock xadd dword [ebp + 8], eax
jmp 0x1090221
mov eax, 0xffffffff
lock xadd dword [edx + 8], eax
jmp 0x1090146
mov eax, 0xffffffff
lock xadd dword [ebp + 8], eax
jmp 0x10901c4
mov eax, dword [esp + 0x30]
call eax
jmp 0x108f31d
mov eax, 0xffffffff
lock xadd dword [edi + 8], eax
jmp 0x10902be
mov eax, dword [esp + 0x124]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa0], eax
jmp 0x108fd87
mov eax, 0xffffffff
lock xadd dword [ebp + 8], eax
jmp 0x1090308
call eax
jmp 0x108fa55
call eax
jmp 0x108f751
mov eax, dword [esp + 0x30]
call eax
jmp 0x108f55c
call eax
jmp 0x108fce7
call eax
jmp 0x108fff1
mov ecx, ebp
call eax
jmp 0x10901ae
mov ecx, edi
call eax
jmp 0x10902a8
mov ecx, ebp
call eax
jmp 0x10902f2
mov ecx, ebp
call eax
jmp 0x109020b
mov ecx, edx
mov dword [esp + 0xa0], edx
call eax
mov edx, dword [esp + 0xa0]
jmp 0x108fade
mov dword [esp + 0x58], edx
mov ecx, ebp
call eax
mov edx, dword [esp + 0x58]
jmp 0x1090052
call eax
jmp 0x108ee9d
call eax
jmp 0x108f00d