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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x104
mov eax, dword [ecx + 8]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa4], eax
mov ecx, 2
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa0], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x98], edi
cmp esi, edi
jne 0x1011f1bc
cmp eax, edi
jne 0x1012159f
lea esi, [esp + 0x4c]
call fcn.100da650
lea esi, [esp + 0xa0]
call fcn.100da650
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp dword [esi + 4], 5
jne 0x1012159f
mov eax, dword [esi + 0x58]
cmp eax, edi
jne 0x1011f1d0
lea eax, [esi + 0x38]
mov ebx, dword [esi + 0x1c]
imul ebx, dword [esi + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x14]
push 5
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], edi
call fcn.1010b520
test al, al
je 0x1011f1fb
mov dword [esp + 0x3c], 1
jmp 0x1011f23a
mov eax, dword [esi + 0x14]
push 7
call fcn.1010b520
test al, al
je 0x1011f23a
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
lea eax, [esp + 0x60]
push eax
call edx
test eax, eax
jne 0x1011f23a
mov eax, dword [esp + 0x60]
push 5
call fcn.1010b520
test al, al
je 0x1011f23a
mov eax, dword [esi + 0x14]
call fcn.100bef60
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x24]
cmp eax, edi
je 0x1011f25a
cmp dword [eax + 4], 5
jne 0x1011f25a
mov ecx, eax
mov eax, dword [ecx + 0x1c]
imul eax, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], eax
jmp 0x1011f25c
mov eax, edi
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x28]
cmp eax, edi
je 0x1011f27c
cmp dword [eax + 4], 5
jne 0x1011f27c
mov ecx, dword [eax + 0x1c]
imul ecx, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x9c], ecx
cmp eax, 0x1d
je 0x1011f2df
cmp eax, 0x20
jne 0x1011f351
mov edx, dword [ebp + 0xc]
mov eax, ecx
mov ecx, dword [ebp + 8]
push edx
lea edi, [esp + 0x60]
lea esi, [esp + 0x74]
call fcn.1011dd50
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x5c]
mov esi, dword [ebp + 8]
sub eax, ecx
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], ecx
mov dword [ebp + 0x14], 0
mov dword [esp + 0x48], eax
mov ebx, eax
jmp 0x1011f354
cmp dword [ebp + 0x10], edi
je 0x1011f3b2
cmp ebx, edi
je 0x1011f351
cmp dword [esp + 0x1c], edi
je 0x1011f351
cmp dword [esp + 0x30], edi
je 0x1011f351
cmp dword [esp + 0x44], 1
jne 0x1011f351
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x9c]
call fcn.10149fd0
mov edi, eax
test edi, edi
jl 0x101215a4
xor ecx, ecx
mov dword [esp + 0x44], ecx
cmp edi, ecx
jne 0x1011f351
mov eax, dword [esp + 0x30]
xor edx, edx
div ebx
mov edx, dword [esp + 0x74]
cmp edx, ecx
ja 0x1011f351
mov ecx, dword [esp + 0x70]
jb 0x1011f346
cmp ecx, eax
jae 0x1011f351
imul ecx, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], ebx
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], 0
je 0x1011f3b2
cmp dword [ebp + 0x14], 0
ja 0x1011f364
cmp eax, ebx
jae 0x1011f3b2
cmp dword [esi + 0x20], 0
mov dword [esp + 0x38], ebx
jne 0x1011f3b2
cmp dword [esp + 0x3c], 0
jne 0x1011f3b2
cmp dword [esp + 0x24], 0
je 0x1011f399
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x1011f399
cmp ecx, 1
jne 0x1011f3b2
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x1011f3c0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], 0
mov ebx, eax
cmp dword [esp + 0x30], 0x100000
ja 0x1011f3d1
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x44], 0x100000
ja 0x1011f3d1
cmp eax, 0x100000
jbe 0x1011f3db
mov edi, 0x80070057
jmp 0x101215a4
cmp dword [esp + 0x24], 0
jne 0x1011f3f1
cmp dword [esp + 0x1c], 0
jne 0x1011f3f1
test eax, eax
je 0x1011f480
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0xac]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0xa4]
push eax
mov eax, dword [esp + 0xac]
lea edi, [ecx + edx*2]
add edi, dword [esp + 0x4c]
mov ecx, 4
push eax
lea esi, [ecx - 2]
call fcn.100db050
mov edi, eax
test edi, edi
jl 0x101215a4
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x30]
je 0x1011f44c
lea edx, [eax + ecx*4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
cmp dword [esp + 0x1c], 0
je 0x1011f46b
cmp dword [esp + 0x98], 0
lea edx, [esp + 0x98]
jne 0x1011f467
lea edx, [eax + ecx*8]
mov dword [esp + 0x20], edx
cmp dword [esp + 0x38], 0
je 0x1011f480
mov edx, dword [esp + 0x44]
lea ecx, [edx + ecx*2]
lea edx, [eax + ecx*4]
mov dword [esp + 0x10], edx
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x20]
mov cl, byte [ebp + 0x18]
mov byte [esp + 0x5c], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x70], 0
mov byte [esp + 0x38], 0
cmp eax, 0x21
ja case.0x1011f4a9.2
movzx eax, byte [eax + 0x101215d8]
jmp dword [eax*4 + 0x101215c4]
mov byte [esp + 0x70], 1
mov byte [esp + 0x5c], cl
jmp case.0x1011f4a9.2
mov byte [esp + 0x5c], cl
mov cl, byte [ebp + 0x1c]
mov byte [esp + 0x70], cl
jmp case.0x1011f4a9.2
mov byte [esp + 0x2f], 1
mov byte [esp + 0x5c], cl
jmp case.0x1011f4a9.2
mov dl, byte [ebp + 0x1c]
mov byte [esp + 0x5c], 1
mov byte [esp + 0x38], dl
cmp byte [esi + 0x2c], 0
je 0x1011f590
cmp dword [esp + 0x24], 0
mov esi, dword [esp + 0x34]
je 0x1011f523
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
mov ecx, esi
call fcn.1011f110
mov edi, eax
test edi, edi
jl 0x101215a4
cmp byte [esp + 0x2f], 0
je 0x1011f55a
cmp dword [esp + 0x24], 0
je 0x1011f55a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
push 0
push 1
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
mov ecx, esi
call fcn.1011f110
mov edi, eax
test edi, edi
jl 0x101215a4
cmp dword [esp + 0x1c], 0
je 0x1011f643
lea ecx, [esp + 0x98]
cmp dword [esp + 0x20], ecx
je 0x1011f643
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x20]
push 0
push 0
jmp 0x1011f62f
cmp dword [esp + 0x1c], 0
je 0x1011f5d2
lea eax, [esp + 0x98]
cmp dword [esp + 0x20], eax
je 0x1011f5d2
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x20]
push 0
push 0
push edx
push eax
push ecx
mov ecx, esi
call fcn.1011f110
mov edi, eax
test edi, edi
jge 0x1011f5d6
jmp 0x101215a4
mov esi, dword [esp + 0x34]
cmp dword [esp + 0x24], 0
je 0x1011f60c
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
mov ecx, esi
call fcn.1011f110
mov edi, eax
test edi, edi
jl 0x101215a4
cmp byte [esp + 0x2f], 0
je 0x1011f643
cmp dword [esp + 0x24], 0
je 0x1011f643
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
push 0
push 1
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
mov ecx, esi
call fcn.1011f110
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
xor edx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x70], edx
cmp eax, 0x29
ja case.default.0x1011f65c
jmp dword [eax*4 + 0x101215fc]
cmp dword [esp + 0x24], edx
je 0x1011f76f
mov edi, dword [esp + 0x10]
cmp edi, edx
je 0x10121326
mov edx, dword [esp + 0x3c]
test edx, edx
jbe 0x1011f6a5
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x4c]
push ebx
push esi
mov eax, edi
call fcn.1011de30
jmp 0x1011fb57
mov edx, dword [esp + 0x30]
cmp edx, 1
jne 0x1011f6cf
xor eax, eax
test ebx, ebx
jbe 0x10121328
mov ecx, dword [esp + 0x18]
lea esp, [esp]
mov edx, dword [ecx]
mov dword [edi + eax*4], edx
inc eax
cmp eax, ebx
jb 0x1011f6c0
jmp 0x10121326
cmp ebx, edx
je 0x1011f750
mov eax, dword [ecx + 0x18]
cmp eax, 1
jne 0x1011f6df
cmp ebx, edx
jb 0x1011f750
mov edx, dword [esp + 0x24]
cmp eax, dword [edx + 0x18]
ja 0x1011f741
mov ecx, dword [ecx + 0x1c]
cmp ecx, dword [edx + 0x1c]
ja 0x1011f741
xor edi, edi
test eax, eax
jbe 0x10121326
lea ebx, [ebx]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
mov edx, dword [esp + 0x24]
lea ecx, [eax*4]
imul eax, edi
push ecx
mov ecx, dword [edx + 0x1c]
mov edx, dword [esp + 0x1c]
imul ecx, edi
lea ecx, [edx + ecx*4]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [edx + eax*4]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp + 8]
inc edi
add esp, 0xc
cmp edi, dword [ecx + 0x18]
jb 0x1011f700
jmp 0x10121326
mov edx, dword [esp + 0x14]
push 0x1008c5c4
push edx
jmp 0x10121593
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea eax, [ebx*4]
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x10121326
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [ebp + 8]
push ebx
push ecx
mov ecx, dword [eax + 0x24]
push edx
push ecx
mov ecx, esi
call fcn.10108390
mov edi, eax
test edi, edi
jl 0x101215a4
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x10121326
mov edi, dword [esp + 0x30]
test edi, edi
jbe 0x1011f7e5
mov edx, dword [esp + 0x18]
sub edx, ecx
mov eax, edi
lea esp, [esp]
mov edi, dword [edx + ecx]
mov dword [ecx], edi
add ecx, 4
sub eax, 1
jne 0x1011f7d0
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
xor eax, eax
test edx, edx
jbe 0x10121326
lea ecx, [ecx + edi*4]
mov edi, dword [esp + 0x20]
mov edi, dword [edi + eax*4]
mov dword [ecx], edi
inc eax
add ecx, 4
cmp eax, edx
jb 0x1011f7f6
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp ebx, edx
je 0x10121382
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
cmp eax, edx
je 0x10121326
mov eax, dword [eax + 0x50]
mov edx, dword [esi + 8]
cmp dword [edx + 0x8020], eax
je 0x1011f857
mov ecx, dword [eax + 8]
and ecx, 0x8000000
xor eax, eax
or ecx, eax
je 0x10121326
xor eax, eax
test ebx, ebx
jbe 0x1011f86e
lea ecx, [ecx]
mov ecx, dword [edi + eax*4]
cmp dword [ecx + 0x70], 0xffffffff
je 0x1011f87f
inc eax
cmp eax, ebx
jb 0x1011f860
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x70], eax
jmp 0x10121326
mov edx, dword [esp + 0x14]
push 0x1008c548
push edx
jmp 0x10121593
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp ebx, edx
je 0x10121382
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], edx
jbe 0x1011f92c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 0x8c]
mov dword [esp + 0x70], eax
push 2
mov eax, edi
call fcn.100a9f30
test al, al
je 0x1011f900
cmp edi, dword [esp + 0x3c]
je 0x1011f900
mov ecx, dword [esp + 0x70]
mov eax, edi
push ecx
mov ebx, esi
mov dword [esp + 0x40], eax
call fcn.1011dc80
mov edi, eax
test edi, edi
jl 0x101215a4
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x70]
cmp dword [eax + 0x70], 0xffffffff
jne 0x1011f91f
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x8000000
xor ecx, ecx
or eax, ecx
je 0x1011f87f
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, ebx
jb 0x1011f8b4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x70], ecx
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
lea edi, [ebx + ebx]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea eax, [edx + ebx*4]
xor edi, edi
mov dword [esp + 0x64], eax
test ebx, ebx
jbe 0x1011f99a
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov eax, esi
call fcn.10108a50
mov edx, dword [esp + 0x64]
mov dword [edx + edi*4], eax
inc edi
cmp edi, ebx
jb 0x1011f972
test ebx, ebx
jbe 0x1011f99a
mov edi, dword [esp + 0x4c]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
push ecx
mov eax, ebx
and eax, 0xfffff
or eax, 0x20400000
push eax
push edx
mov edx, dword [esp + 0x24]
push esi
xor eax, eax
lea ecx, [ecx + ebx*4]
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x70], ecx
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
lea edi, [ebx + ebx]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea eax, [edx + ebx*4]
xor edi, edi
mov dword [esp + 0x64], eax
test ebx, ebx
jbe 0x1011f99a
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov eax, esi
call fcn.10108aa0
mov edx, dword [esp + 0x64]
mov dword [edx + edi*4], eax
inc edi
cmp edi, ebx
jb 0x1011fa10
jmp 0x1011f98b
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x1011fa76
cmp ebx, edx
jbe 0x1011fa5d
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x14]
mov ecx, ebx
and ecx, 0xfffff
or ecx, 0x12200000
push ecx
push edx
jmp 0x1011fb47
lea edi, [ebx + ebx]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea ecx, [ebx + ebx]
test ecx, ecx
jbe 0x1011fa9e
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [edx + ebx*4]
mov dword [esp + 0x64], eax
test ebx, ebx
jbe 0x1011fab4
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
push esi
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x68]
mov eax, ebx
and eax, 0xfffff
or eax, 0x20300000
push eax
push ecx
mov ecx, dword [esp + 0x58]
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jge 0x10121326
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fb33
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov edx, ebx
and edx, 0xfffff
or edx, 0x10100000
push edx
push eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fb89
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x14]
mov ecx, ebx
and ecx, 0xfffff
or ecx, 0x10000000
push ecx
push edx
jmp 0x1011fb47
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fbcc
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push eax
mov ecx, ebx
and ecx, 0xfffff
or ecx, 0x20400000
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x24]
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov edi, ebx
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
test ebx, ebx
jbe 0x1011fc4a
mov edi, dword [esp + 0x4c]
or eax, 0xffffffff
mov ecx, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
jbe 0x1011fc4a
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov eax, ebx
and eax, 0xfffff
mov dword [esp + 0x1c], eax
or eax, 0x10100000
push eax
mov eax, dword [esp + 0x18]
push eax
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
or eax, 0x20400000
push eax
push edx
mov ecx, dword [esp + 0x58]
xor eax, eax
mov edx, dword [esp + 0x24]
push esi
call fcn.1010b2f0
mov edi, eax
test edi, edi
jge 0x10121326
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fcda
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov edx, ebx
and edx, 0xfffff
test byte [eax + 0x7fd3], 8
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
je 0x1011fd14
or edx, 0x20a00000
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
or edx, 0x20200000
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fd5a
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x10]
mov eax, ebx
and eax, 0xfffff
test byte [ecx + 0x7fd3], 8
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x24]
je 0x1011fd92
or eax, 0x20a00000
push eax
push ecx
mov ecx, dword [esp + 0x24]
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
or eax, 0x20200000
push eax
push ecx
mov ecx, dword [esp + 0x24]
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fdd7
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 8]
mov ecx, ebx
push eax
and ecx, 0xfffff
xor eax, eax
test byte [edx + 0x7fd3], 8
mov edx, dword [esp + 0x18]
je 0x1011fe11
or ecx, 0x20b00000
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x2c]
push esi
call fcn.1010b2f0
jmp 0x1011fb57
or ecx, 0x20300000
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x2c]
push esi
call fcn.1010b2f0
jmp 0x1011fb57
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1011fe59
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
mov edx, ebx
and edx, 0xfffff
test byte [eax + 0x7fd3], 8
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
je 0x1011fe93
or edx, 0x20b00000
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
or edx, 0x20300000
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov ecx, dword [esi + 8]
test byte [ecx + 0x7fd3], 8
je 0x1011ff11
cmp ebx, edx
jbe 0x1011fee5
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, ebx
and eax, 0xfffff
or eax, 0x20c00000
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
lea edi, [ebx*4]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea ecx, [ebx*4]
test ecx, ecx
jbe 0x1011ff41
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [edx + ebx*4]
lea ecx, [edx + ebx*8]
mov dword [esp + 0x7c], eax
lea eax, [ebx + ebx*2]
mov dword [esp + 0x80], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x84], ecx
test ebx, ebx
jbe 0x1011ff6e
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, ebx
and eax, 0xfffff
mov dword [esp + 0x1c], eax
or eax, 0x10100000
push eax
push edx
mov edx, dword [esp + 0x54]
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push eax
or ecx, 0x20400000
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x24]
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push esi
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x84]
or eax, 0x20300000
push eax
push edx
mov edx, dword [esp + 0x90]
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jge 0x10121326
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x1012007e
cmp ebx, edx
jbe 0x1011fa5d
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
mov ecx, ebx
rep stosd dword es:[edi], eax
mov ecx, ebx
and ecx, 0xfffff
or ecx, 0x12200000
push ecx
push edx
jmp 0x1011fb47
mov eax, dword [esp + 0x14]
push 0x1008c5f8
push eax
mov edx, 0xdcf
mov eax, esi
mov edi, 0x80004001
call fcn.1010ad00
add esp, 8
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov ecx, dword [esi + 8]
test byte [ecx + 0x7fd3], 8
je 0x101200eb
cmp ebx, edx
jbe 0x101200da
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, ebx
and eax, 0xfffff
or eax, 0x22400000
jmp 0x1011fef1
mov edx, dword [esp + 0x14]
push 0x1008c5f8
push edx
mov edx, 0xdcf
mov eax, esi
mov edi, 0x80004001
call fcn.1010ad00
add esp, 8
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x1012015a
cmp ebx, edx
jbe 0x10120147
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, ebx
and edx, 0xfffff
or edx, 0x22500000
jmp 0x1012081d
mov ecx, dword [esp + 0x14]
push 0x1008c5f8
push ecx
mov edx, 0xdcf
mov eax, esi
mov edi, 0x80004001
call fcn.1010ad00
add esp, 8
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x1012015a
cmp ebx, edx
jbe 0x101201b6
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, ebx
and edx, 0xfffff
or edx, 0x22100000
jmp 0x1012081d
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x1012015a
cmp ebx, edx
jbe 0x10120206
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, ebx
and edx, 0xfffff
or edx, 0x22200000
jmp 0x1012081d
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x1012015a
cmp ebx, edx
jbe 0x10120256
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, ebx
and edx, 0xfffff
or edx, 0x22300000
jmp 0x1012081d
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x101202b5
cmp ebx, edx
jbe 0x101202a2
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, ebx
and edx, 0xfffff
or edx, 0x20d00000
jmp 0x1012081d
lea edi, [ebx*4]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea ecx, [ebx*4]
test ecx, ecx
jbe 0x101202e5
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [edx + ebx*4]
mov dword [esp + 0x7c], ecx
lea eax, [edx + ebx*8]
lea ecx, [ebx + ebx*2]
lea edx, [edx + ecx*4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
test ebx, ebx
jbe 0x10120312
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov eax, ebx
and eax, 0xfffff
mov dword [esp + 0x1c], eax
or eax, 0x10100000
push eax
mov eax, dword [esp + 0x18]
push eax
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x50]
or edx, 0x20400000
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
push esi
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x88]
or eax, 0x20200000
push eax
mov eax, dword [esp + 0x1c]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jge 0x10121326
jmp 0x101215a4
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov ecx, dword [esi + 8]
test byte [ecx + 0x7fd3], 8
je 0x101204a2
xor edx, edx
test ebx, ebx
jbe 0x1012043c
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
sub eax, ecx
mov edi, dword [eax + ecx]
cmp dword [edi + 0x4c], 0
jne 0x1012047f
mov edi, dword [ecx]
cmp dword [edi + 0x4c], 0
jne 0x1012047f
inc edx
add ecx, 4
cmp edx, ebx
jb 0x10120414
test ebx, ebx
jbe 0x1012043c
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [esp + 0x34]
mov eax, ebx
and eax, 0xfffff
push edx
or eax, 0x22100000
push eax
push ecx
mov ecx, esi
call fcn.10122240
mov edi, eax
test edi, edi
jge 0x10121326
jmp 0x101215a4
mov edx, dword [esp + 0x14]
push 0x1008c62c
push edx
mov edx, 0xf3c
mov eax, esi
mov edi, 0x80004005
call fcn.1010ad00
add esp, 8
jmp 0x101215a4
mov dword [esp + 0x28], edx
cmp ebx, edx
jbe 0x101204eb
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
sub eax, edi
mov dword [esp + 0x3c], eax
jmp 0x101204c4
mov eax, dword [esp + 0x3c]
mov edx, dword [edi + eax]
call fcn.1010b3b0
test al, al
je 0x1012051f
mov edx, dword [edi]
call fcn.1010b3b0
test al, al
je 0x1012051f
mov eax, dword [esp + 0x28]
inc eax
add edi, 4
mov dword [esp + 0x28], eax
cmp eax, ebx
jb 0x101204c0
test ebx, ebx
jbe 0x101204fa
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, ebx
and eax, 0xfffff
push edx
or eax, 0x20500000
push eax
push ecx
mov ecx, dword [esp + 0x2c]
mov eax, 0x20000032
jmp 0x1011fc94
lea edi, [ebx + ebx*2]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
lea ecx, [ebx + ebx*2]
test ecx, ecx
jbe 0x10120545
mov edi, dword [esp + 0x4c]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x10]
lea eax, [edx + ebx*4]
lea ecx, [edx + ebx*8]
mov dword [esp + 0x64], eax
or eax, 0xffffffff
mov dword [esp + 0x68], ecx
mov ecx, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x20]
mov eax, ebx
and eax, 0xfffff
push edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
or eax, 0x20500000
push eax
push edx
mov edx, dword [esp + 0x24]
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push esi
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x68]
or eax, 0x20200000
push eax
push edx
mov edx, dword [esp + 0x74]
xor eax, eax
jmp 0x1011fc98
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x101206a6
xor edx, edx
test ebx, ebx
jbe 0x10120648
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
sub eax, ecx
lea ebx, [ebx]
mov edi, dword [ecx + eax]
cmp dword [edi + 0x4c], 0
jne 0x10120683
mov edi, dword [ecx]
cmp dword [edi + 0x4c], 0
jne 0x10120683
inc edx
add ecx, 4
cmp edx, ebx
jb 0x10120620
test ebx, ebx
jbe 0x10120648
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 0
push 0
push edx
push eax
mov eax, dword [esp + 0x34]
mov edx, ebx
push ecx
and edx, 0xfffff
or edx, 0x22200000
push edx
push eax
mov ecx, esi
call fcn.10122240
jmp 0x1011fc9e
mov ecx, dword [esp + 0x14]
push 0x1008c65c
push ecx
mov edx, 0xf3d
mov eax, esi
mov edi, 0x80004005
call fcn.1010ad00
add esp, 8
jmp 0x101215a4
lea edi, [ebx*4]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea ecx, [ebx*4]
test ecx, ecx
jbe 0x101206d6
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea ecx, [edx + ebx*4]
mov dword [esp + 0x7c], ecx
lea eax, [edx + ebx*8]
lea ecx, [ebx + ebx*2]
lea edx, [edx + ecx*4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
test ebx, ebx
jbe 0x10120703
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
push eax
push 0
push ecx
push edx
push esi
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x14]
push eax
push 0
push ecx
push edx
push esi
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x14]
mov eax, ebx
and eax, 0xfffff
push ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x20], eax
or eax, 0x20400000
push eax
push edx
mov edx, dword [esp + 0x58]
push esi
mov eax, 0x20000002
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x84]
or eax, 0x10100000
push eax
push ecx
mov ecx, dword [esp + 0x88]
push esi
mov eax, 0x20000004
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x88]
or eax, 0x20200000
push eax
mov eax, dword [esp + 0x1c]
push eax
xor eax, eax
jmp 0x1011fc98
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
cmp ebx, edx
jbe 0x1012080f
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, ebx
and edx, 0xfffff
or edx, 0x20500000
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov ecx, dword [esi + 8]
test byte [ecx + 0x7fd3], 8
je 0x101208a2
cmp ebx, edx
jbe 0x10120876
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x1c]
mov eax, ebx
and eax, 0xfffff
or eax, 0x20800000
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
mov edi, ebx
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
test ebx, ebx
jbe 0x101208d4
mov edi, dword [esp + 0x4c]
or eax, 0xffffffff
mov ecx, ebx
rep stosd dword es:[edi], eax
test ebx, ebx
jbe 0x101208d4
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, ebx
and eax, 0xfffff
mov dword [esp + 0x1c], eax
or eax, 0x10300000
push eax
push edx
mov edx, dword [esp + 0x54]
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
or eax, 0x20500000
push eax
push ecx
jmp 0x1011fc8e
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
lea edi, [ebx*8]
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x4c]
lea ecx, [ebx*8]
test ecx, ecx
jbe 0x1012096b
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [ebx*4]
lea ecx, [eax + edx]
mov dword [esp + 0x7c], ecx
lea ecx, [edx + ebx*8]
mov dword [esp + 0x80], ecx
lea ecx, [ebx + ebx*2]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x84], ecx
lea eax, [edx + eax*4]
lea ecx, [ebx + ebx*4]
mov dword [esp + 0x88], eax
lea eax, [edx + ecx*4]
lea ecx, [ebx + ebx*2]
mov dword [esp + 0x8c], eax
lea eax, [edx + ecx*8]
lea ecx, [ebx*8]
sub ecx, ebx
lea edx, [edx + ecx*4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
test ebx, ebx
jbe 0x101209d6
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
je 0x10120bf7
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [esp + 0xb0]
push eax
push 0
call edx
test al, al
je 0x10120bcb
mov eax, dword [esp + 0xb4]
test dword [eax*4 + 0x101e0f10], 0x200
je 0x10120bcb
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
mov eax, ebx
and eax, 0xfffff
push ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
or eax, 0x20500000
push eax
push edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x34], eax
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
or eax, 0x10100000
push eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
push eax
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x80]
or edx, 0x20b00000
push edx
mov edx, dword [esp + 0x54]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x8c]
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x84]
push ebx
push eax
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
mov ecx, esi
call fcn.10145170
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x88]
or edx, 0x10300000
push edx
mov edx, dword [esp + 0x90]
push eax
push esi
mov eax, 0xc0
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x20]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x94]
or eax, 0x10400000
push eax
push ecx
mov ecx, dword [esp + 0x98]
push esi
mov eax, 0x20000002
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x8c]
push eax
push ecx
mov ecx, dword [esp + 0xa0]
xor eax, eax
jmp 0x1011fc98
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x1c]
mov eax, ebx
and eax, 0xfffff
or eax, 0x20900000
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
xor eax, eax
call fcn.1010b2f0
jmp 0x1011fb57
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
mov eax, ebx
and eax, 0xfffff
mov dword [esp + 0x1c], eax
or eax, 0x20500000
push edx
mov edx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
push eax
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
or eax, 0x10100000
push eax
push ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], eax
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x50]
or eax, 0x20300000
push eax
push ecx
mov ecx, dword [esp + 0x88]
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x88]
push eax
push esi
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x84]
push ebx
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
mov ecx, esi
call fcn.10145170
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x8c]
or eax, 0x10300000
push eax
push ecx
mov ecx, dword [esp + 0x90]
push esi
mov eax, 0xc0
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x98]
push esi
xor eax, eax
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
or eax, 0x10400000
push eax
push edx
mov edx, dword [esp + 0x9c]
push esi
mov eax, 0x20000002
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x94]
xor eax, eax
jmp 0x1011fc98
cmp dword [esp + 0x1c], edx
je 0x1012159f
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x6c]
push ecx
lea ecx, [eax*4]
mov eax, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x24]
sub eax, ecx
push eax
mov eax, dword [esp + 0x2c]
push ebx
push edx
push eax
mov ecx, esi
call fcn.1014a050
jmp 0x1011fb57
cmp dword [esp + 0x1c], edx
je 0x1012159f
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x20]
push ecx
push ebx
push edx
push eax
push esi
call fcn.1014d1a0
jmp 0x1011fb57
cmp dword [esp + 0x10], edx
je 0x10121326
mov ecx, dword [esp + 0x14]
push 0x1008c688
push ecx
mov edx, 0xc35
mov eax, esi
call fcn.1010ad00
add esp, 8
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
mov edi, dword [ecx + 0x28]
cmp edi, edx
je 0x1012159f
mov eax, dword [edi + 4]
cmp eax, 6
jne 0x10120eaf
cmp dword [edi + 0x18], 2
jne 0x1012159f
cmp dword [edi + 0x24], edx
ja 0x1012159f
jb 0x10120e88
cmp dword [edi + 0x20], 0xffffffff
ja 0x1012159f
mov eax, dword [esp + 0x10]
cmp eax, edx
je 0x10121326
mov ecx, dword [esp + 0x18]
lea edx, [ebx*4]
push edx
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x10121326
cmp eax, 1
jne 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
mov eax, dword [esp + 0x9c]
cmp eax, edx
jbe 0x10120ed8
lea ecx, [ecx]
sub eax, 1
mov edi, dword [edi + 0xc]
jne 0x10120ed0
mov dword [esp + 0x60], edx
cmp ebx, edx
jbe 0x10121326
mov eax, dword [edi + 8]
push 6
call fcn.100a9f30
test al, al
je 0x1012159f
mov eax, dword [edi + 8]
cmp dword [eax + 0x18], 2
jne 0x1012159f
cmp dword [eax + 0x24], 0
ja 0x1012159f
jb 0x10120f19
cmp dword [eax + 0x20], 0xffffffff
ja 0x1012159f
mov edx, dword [eax + 0x20]
sub edx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
mov dword [edx + eax*4], ecx
mov edi, dword [edi + 0xc]
inc eax
mov dword [esp + 0x60], eax
cmp eax, ebx
jb 0x10120ee4
jmp 0x10121326
mov eax, dword [esp + 0x24]
cmp eax, edx
je 0x1012159f
mov eax, dword [eax + 0x14]
push 5
call fcn.100a9f30
test al, al
je 0x1012159f
cmp dword [esp + 0x30], 4
jne 0x1012159f
cmp dword [esp + 0x10], 0
je 0x10121326
test ebx, ebx
je 0x10121382
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 4
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x7c]
push eax
push 0
push 0
push esi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
call fcn.101091d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov edi, dword [esp + 0x78]
cmp dword [edi + 0x4c], 0x13
jne 0x1012159f
mov eax, dword [edi + 0x9c]
push 3
call fcn.1010b520
test al, al
jne 0x101211b1
push 0
xor edx, edx
lea eax, [esp + 0xb4]
call fcn.10117650
mov ecx, dword [esi + 8]
test byte [ecx + 0x7fd8], 0x80
jne 0x1012103c
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [ebp + 8]
push eax
push 0x1008c6e0
call fcn.100a47a0
push eax
mov edx, 0xdd8
mov eax, esi
call fcn.1010ad00
add esp, 0xc
mov edi, 0x80004005
lea eax, [esp + 0xb0]
call fcn.101176a0
jmp 0x101215a4
mov dword [esp + 0x60], 0
test ebx, ebx
jbe 0x101210aa
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x8020]
mov ecx, dword [esp + 0x28]
push 0x11
push 0
push 0
push edx
push ecx
push eax
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x1012102b
mov ecx, dword [esp + 0x28]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov dword [edx + 0x8c], eax
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov dword [edx + 0x90], eax
mov edx, dword [ecx]
mov dword [edx + 0x9c], eax
inc eax
add ecx, 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], ecx
cmp eax, ebx
jb 0x10121050
xor eax, eax
mov ecx, 0x80
lea edx, [esp + 0xb0]
call fcn.10117950
mov edi, eax
test edi, edi
jl 0x1012102b
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
push ebx
push eax
push edx
push esi
call fcn.10108de0
mov edi, eax
test edi, edi
jl 0x1012102b
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x80b0]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
push 0
push 1
push 0
push 0
push 0
push 0
push edx
push eax
call fcn.100a47a0
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0x14]
mov edi, dword [esp + 0x54]
push eax
lea ebx, [esp + 0xd4]
call fcn.10125380
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jl 0x1012102b
xor ecx, ecx
cmp dword [esp + 0x48], ebx
jbe 0x1012119c
mov esi, dword [esp + 0x10]
mov edx, dword [esi + ecx*4]
mov eax, dword [edx + 0x50]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x64], eax
mov eax, edx
and eax, 0x800000
xor edi, edi
or eax, edi
je 0x10121163
mov eax, dword [esp + 0x80]
or edx, 0xffffffff
jmp 0x10121183
and edx, 0x80
xor eax, eax
or edx, eax
je 0x1012117b
mov eax, dword [esp + 0x84]
or edx, 0xffffffff
jmp 0x10121183
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esi + ecx*4]
mov dword [edi + 0x58], edx
mov edx, dword [esi + ecx*4]
mov dword [edx + 0x5c], eax
mov eax, dword [esi + ecx*4]
inc ecx
mov dword [eax + 0x54], ebx
cmp ecx, dword [esp + 0x48]
jb 0x10121136
lea eax, [esp + 0xb0]
call fcn.101176a0
mov ebx, dword [esp + 0x48]
jmp 0x10121322
cmp dword [edi + 0xa0], 0xffffffff
je 0x1012159f
mov ecx, dword [edi + 0x9c]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
cmp ebx, eax
ja 0x1012159f
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xa0]
lea ecx, [ebx*4]
push ecx
mov ecx, dword [esi + 0x1c]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x14]
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x10121326
cmp dword [esp + 0x24], edx
je 0x1012159f
cmp dword [esp + 0x1c], edx
je 0x1012159f
cmp dword [esp + 0x10], edx
je 0x10121326
lea esi, [ebx + ebx*2]
mov edi, esi
lea eax, [esp + 0x4c]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x101215a4
test esi, esi
jbe 0x10121243
mov edi, dword [esp + 0x4c]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov dword [esp + 0x40], 0
test ebx, ebx
jbe 0x101212d7
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
lea ecx, [eax + ebx*4]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x18]
sub ecx, eax
sub eax, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], eax
jmp 0x10121280
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
add eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [eax + ecx]
lea edi, [esp + 0x2f]
call fcn.101096c0
test eax, eax
jl 0x101212d7
cmp byte [esp + 0x2f], 0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
jne 0x101212b9
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
mov ecx, 4
add dword [esp + 0x44], ecx
add dword [esp + 0x28], ecx
inc eax
mov dword [esp + 0x40], eax
cmp eax, ebx
jb 0x10121280
cmp dword [esp + 0x40], ebx
jne 0x1012143b
test ebx, ebx
jbe 0x101212f0
mov edi, dword [esp + 0x10]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edx, ebx
and edx, 0xfffff
or edx, 0x10000000
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x58]
xor eax, eax
call fcn.1010b5d0
mov edi, eax
test edi, edi
jl 0x101215a4
mov esi, dword [esp + 0x34]
test ebx, ebx
je 0x10121382
cmp dword [esp + 0x38], 0
je 0x10121382
cmp dword [esp + 0x70], 0
je 0x10121382
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
push esi
mov eax, ebx
call fcn.1011ef40
mov edi, eax
test edi, edi
jl 0x101215a4
cmp dword [esp + 0x10], 0
je 0x10121588
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
lea edx, [ebx*4]
push edx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x10], 0
je 0x10121588
cmp byte [esp + 0x5c], 0
jne 0x101213ba
test ebx, ebx
je 0x101213ba
cmp byte [ebp + 0x1c], 0
jne 0x101213ba
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ebx
push eax
push eax
push edx
push esi
call fcn.101064c0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 0x10]
cmp eax, edi
je 0x101213ea
mov ebx, dword [ebp + 0xc]
mov edx, dword [esp + 0x9c]
lea ecx, [ebx*4]
push ecx
lea eax, [eax + edx*4]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x10], edi
mov eax, edi
test eax, eax
je 0x10121588
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20], 2
je 0x10121588
mov edx, dword [esi + 8]
test byte [edx + 0x7fd3], 8
je 0x10121565
cmp byte [ebp + 0x1c], 0
jne 0x10121588
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push ebx
push eax
push esi
call fcn.1011dfd0
jmp 0x10121582
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 8]
test byte [edx + 0x7fd3], 8
je 0x1012146e
mov eax, dword [esp + 0x18]
push ebx
push eax
mov eax, dword [esp + 0x28]
push eax
lea edx, [eax + ebx*4]
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push eax
push edx
call fcn.10145170
jmp 0x10121318
mov esi, dword [esp + 0x4c]
test ebx, ebx
jbe 0x1012149a
or eax, 0xffffffff
mov ecx, ebx
mov edi, esi
rep stosd dword es:[edi], eax
test ebx, ebx
jbe 0x1012149a
or eax, eax
mov ecx, ebx
lea edi, [esi + ebx*4]
rep stosd dword es:[edi], eax
test ebx, ebx
jbe 0x1012149a
mov ecx, ebx
or eax, 0xffffffff
lea edi, [esi + ebx*8]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
push eax
lea eax, [esi + ebx*4]
push eax
push esi
push ecx
mov dword [esp + 0x74], eax
push edx
mov eax, ebx
call fcn.10106b20
mov edi, eax
test edi, edi
jl 0x101215a4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
lea eax, [esi + ebx*8]
push eax
mov dword [esp + 0x6c], eax
mov eax, ebx
and eax, 0xfffff
or eax, 0x20200000
push eax
push ecx
push edx
mov edx, dword [esp + 0x74]
xor eax, eax
mov ecx, esi
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x101215a4
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
push ebx
push eax
mov eax, dword [esp + 0x28]
push eax
lea ecx, [eax + ebx*4]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
call fcn.10145170
mov edi, eax
test edi, edi
jge 0x10121322
jmp 0x101215a4
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
push ecx
push ebx
push edx
mov ecx, esi
call fcn.1015d760
jmp 0x1011fb57
mov eax, dword [esp + 0x10]
push 0
push eax
push ecx
push esi
call fcn.101361b0
jmp 0x1011fb57
mov edx, dword [esp + 0x10]
push 1
push edx
mov eax, ecx
push eax
push esi
call fcn.101361b0
jmp 0x1011fb57
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ebx
push ecx
push esi
call fcn.1011e470
mov edi, eax
test edi, edi
jl 0x101215a4
xor edi, edi
jmp 0x101215a4
push 0x1008c708
push 0
xor edx, edx
mov eax, esi
call fcn.1010ad00
add esp, 8
mov edi, 0x80004005
lea esi, [esp + 0x4c]
call fcn.100da650
lea esi, [esp + 0xa0]
call fcn.100da650
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18