Function at 0x103d17c
Capabilities:
Parse pe header

Disassembly:
push 0xe4
mov eax, 0x10a56c2
call fcn.0107a74e
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xac], edx
mov eax, dword [0x10b30cc]
mov ebx, 0x10b30cc
cmp eax, ebx
je 0x103d1da
test byte [eax + 0x1c], 1
je 0x103d1da
cmp byte [eax + 0x19], 5
jb 0x103d1da
push edx
push ecx
push 0x1003894
push 0x3f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
mov edi, 0x10b7af8
xor esi, esi
push edi
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xa4], esi
call fcn.0104078f
and dword [ebp - 4], esi
push edi
lea ecx, [ebp - 0xb0]
call fcn.0104078f
and word [ebp - 0xa0], si
push 0x7e
lea eax, [ebp - 0x9e]
push esi
push eax
call fcn.0107aa60
mov byte [ebp - 0x20], 0
xor eax, eax
lea edi, [ebp - 0x1f]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edi, edi
add esp, 0xc
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xbc], edi
push 0x80000001
mov byte [ebp - 4], 8
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xcc], edi
call dword [0x1001310]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xa8]
add eax, 0xb0
push eax
call dword [fcn.010011c4]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0xc8]
cmp ecx, edi
je 0x103d2b2
call fcn.01032313
jmp 0x103d2df
mov esi, 0x80040378
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d2df
test byte [eax + 0x1c], 2
je 0x103d2df
cmp byte [eax + 0x19], 2
jb 0x103d2df
push esi
push 0x1003894
push 0x40
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
mov eax, dword [ebp - 0xa8]
add eax, 0xb0
push eax
call dword [fcn.010011c0]
test esi, esi
jl 0x103dd11
mov esi, dword [ebp - 0xa8]
lea edi, [esi + 0xb0]
push edi
call dword [fcn.010011c4]
mov ecx, dword [esi + 0xc8]
test ecx, ecx
je 0x103d360
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xdc]
push eax
push dword [ebp - 0xb8]
call fcn.01032cdb
mov esi, eax
mov ecx, 0x800403c9
cmp esi, ecx
jne 0x103d38d
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d38d
test byte [eax + 0x1c], 2
je 0x103d38d
cmp byte [eax + 0x19], 2
jb 0x103d38d
push ecx
push 0x1003894
push 0x41
jmp 0x103d382
mov esi, 0x80040378
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d38d
test byte [eax + 0x1c], 2
je 0x103d38d
cmp byte [eax + 0x19], 2
jb 0x103d38d
push esi
push 0x1003894
push 0x42
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
push edi
call dword [fcn.010011c0]
test esi, esi
jl 0x103dd11
cmp dword [ebp - 0xd4], 0
jne 0x103d3d8
mov esi, 0x800403fa
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x43
jmp 0x103d794
cmp dword [ebp - 0xac], 0
jne 0x103d41a
mov esi, 0x80040208
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x44
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
push dword [ebp - 0xac]
call dword [fcn.010013a4]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d46c
test byte [eax + 0x1c], 2
je 0x103d46c
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d46c
push esi
push 0x1003894
push 0x45
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
mov eax, dword [0x10b30cc]
test esi, esi
jge 0x103d4a4
mov dword [ebp - 0xa4], esi
mov esi, 0x800403fe
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x46
jmp 0x103d794
mov edi, dword [ebp - 0xa8]
lea eax, [edi + 0xb0]
push eax
mov dword [ebp - 0xb8], eax
call dword [fcn.010011c4]
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x103d52c
add eax, 0x30
push eax
lea ecx, [ebp - 0xb4]
call fcn.010624b4
cmp dword [ebp - 0xb4], 0
jne 0x103d559
lea eax, [ebp - 0xb4]
push eax
call fcn.0108f7dd
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d559
test byte [eax + 0x1c], 2
je 0x103d559
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d559
push dword [ebp - 0xb4]
push esi
push 0x1003894
push 0x47
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
jmp 0x103d559
mov esi, 0x80040378
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d559
test byte [eax + 0x1c], 2
je 0x103d559
cmp byte [eax + 0x19], 2
jb 0x103d559
push esi
push 0x1003894
push 0x48
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
push dword [ebp - 0xb8]
call dword [fcn.010011c0]
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
lea edx, [ebp - 0xc8]
push edx
push 0x10038b4
push eax
call dword [ecx]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d5c3
test byte [eax + 0x1c], 2
je 0x103d5c3
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d5c3
push dword [ebp - 0xc8]
push esi
push 0x1003894
push 0x49
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
test esi, esi
jl 0x103dd11
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax + 0x10]
push dword [eax + 0xc]
push ecx
call dword [edx + 0xc]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d62c
test byte [eax + 0x1c], 2
je 0x103d62c
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d62c
push esi
push 0x1003894
push 0x4a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
mov eax, dword [0x10b30cc]
test esi, esi
jge 0x103d664
mov dword [ebp - 0xa4], esi
mov esi, 0x800403fa
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x4b
jmp 0x103d794
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
lea edx, [ebp - 0xcc]
push edx
push eax
call dword [ecx + 0xc]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d6bb
test byte [eax + 0x1c], 2
je 0x103d6bb
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d6bb
push dword [ebp - 0xcc]
push esi
push 0x1003894
push 0x4c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
mov eax, dword [0x10b30cc]
test esi, esi
jl 0x103d6c8
cmp dword [ebp - 0xcc], 0
jne 0x103d702
mov dword [ebp - 0xa4], esi
mov esi, 0x800403fa
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x4d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
lea edx, [ebp - 0xe4]
push edx
push eax
call dword [ecx + 0x18]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d761
test byte [eax + 0x1c], 2
je 0x103d761
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d761
push dword [ebp - 0xe4]
push esi
push 0x1003894
push 0x4e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
mov eax, dword [0x10b30cc]
test esi, esi
jge 0x103d7a4
mov dword [ebp - 0xa4], esi
mov esi, 0x800403fa
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x4f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
jmp 0x103dd11
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
lea edx, [ebp - 0xd0]
push edx
sub esp, 0x10
mov edi, esp
push dword [ebp - 0xcc]
lea esi, [ebp - 0x20]
push dword [ebp - 0xe4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xc]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d80f
test byte [eax + 0x1c], 2
je 0x103d80f
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d80f
push esi
push 0x1003894
push 0x50
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
mov eax, dword [0x10b30cc]
mov ecx, 0x80070057
cmp esi, ecx
jne 0x103d852
mov dword [ebp - 0xa4], ecx
mov esi, 0x800403fa
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push esi
push 0x1003894
push 0x51
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x28]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d8a1
test byte [eax + 0x1c], 2
je 0x103d8a1
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d8a1
push esi
push 0x1003894
push 0x52
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax]
lea ecx, [ebp - 0xdc]
mov edi, eax
add esi, 0x24
call fcn.01035715
push eax
mov ecx, 0x10b6960
call fcn.01035715
push eax
push edi
call dword [esi]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d909
test byte [eax + 0x1c], 2
je 0x103d909
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d909
push esi
push 0x1003894
push 0x53
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
lea edx, [ebp - 0xc4]
push edx
push 0x10038a4
push eax
call dword [ecx]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103d967
test byte [eax + 0x1c], 2
je 0x103d967
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103d967
push dword [ebp - 0xc4]
push esi
push 0x1003894
push 0x54
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
test esi, esi
jl 0x103dd11
mov edi, dword [ebp - 0xa8]
lea eax, [edi + 0xb0]
push eax
mov dword [ebp - 0xb8], eax
call dword [fcn.010011c4]
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x103da03
push dword [eax + 0x28]
lea ecx, [ebp - 0xdc]
push ecx
push dword [ebp - 0xc4]
mov ecx, dword [eax + 0x2c]
call fcn.01055879
push eax
lea ecx, [ebp - 0xbc]
call fcn.010551b8
cmp dword [ebp - 0xbc], 0
jne 0x103d9c4
mov esi, 0x8007000e
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103da30
test byte [eax + 0x1c], 2
je 0x103da30
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103da30
push dword [ebp - 0xbc]
push esi
push 0x1003894
push 0x55
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0104cb2f
jmp 0x103da30
mov esi, 0x80040378
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103da30
test byte [eax + 0x1c], 2
je 0x103da30
cmp byte [eax + 0x19], 2
jb 0x103da30
push esi
push 0x1003894
push 0x56
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
push dword [ebp - 0xb8]
call dword [fcn.010011c0]
test esi, esi
jl 0x103dd11
cmp word [ebp - 0xa0], 2
je 0x103da99
cmp word [ebp - 0xa0], 0x17
je 0x103da99
mov esi, 0x80070057
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dd11
test byte [eax + 0x1c], 2
je 0x103dd11
cmp byte [eax + 0x19], 2
jb 0x103dd11
push dword [ebp - 0xa0]
mov edi, 0x1003894
push edi
push 0x57
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103bd23
jmp 0x103da9e
mov edi, 0x1003894
test esi, esi
jl 0x103dd11
mov ecx, dword [ebp - 0xc4]
push 0
push dword [ebp - 0xbc]
lea eax, [ebp - 0xd8]
push eax
push 4
push 0x80
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xd4]
push dword [eax + 0x10]
mov word [ebp - 0x9e], 0x2828
push dword [eax + 0xc]
mov edx, dword [ecx]
push ecx
call dword [edx + 0xc]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103db19
test byte [eax + 0x1c], 2
je 0x103db19
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103db19
push esi
push edi
push 0x58
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
lea edx, [ebp - 0xec]
push edx
push eax
call dword [ecx + 0x18]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103db69
test byte [eax + 0x1c], 2
je 0x103db69
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103db69
push esi
push edi
push 0x59
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
lea edx, [ebp - 0xe8]
push edx
push eax
call dword [ecx + 0xc]
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dbb9
test byte [eax + 0x1c], 2
je 0x103dbb9
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103dbb9
push esi
push edi
push 0x5a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xe8]
push dword [ebp - 0xec]
call fcn.0103bf88
mov esi, eax
test esi, esi
jl 0x103dd11
mov eax, dword [ebp - 0xac]
mov edi, dword [0x1001380]
mov word [eax], 0x2011
add eax, 8
push eax
push dword [ebp - 0xc0]
mov dword [ebp - 0xb8], eax
call edi
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dc3f
test byte [eax + 0x1c], 2
je 0x103dc3f
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103dc3f
push esi
push 0x1003894
push 0x5b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov esi, dword [ebp - 0xa8]
add esi, 0x94
mov eax, dword [esi]
test eax, eax
je 0x103dc63
push eax
call dword [0x10013a0]
and dword [esi], 0
push esi
push dword [ebp - 0xd4]
call edi
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dca5
test byte [eax + 0x1c], 2
je 0x103dca5
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103dca5
push esi
push 0x1003894
push 0x5c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jl 0x103dd11
mov esi, dword [ebp - 0xa8]
add esi, 0x98
mov eax, dword [esi]
test eax, eax
je 0x103dcc5
push eax
call dword [0x10013a0]
and dword [esi], 0
mov eax, dword [ebp - 0xb8]
push esi
push dword [eax]
call edi
mov esi, eax
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103dd09
test byte [eax + 0x1c], 2
je 0x103dd09
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103dd09
push esi
push 0x1003894
push 0x5d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
test esi, esi
jge 0x103ddd8
push dword [ebp - 0xac]
call dword [fcn.010013a4]
mov edi, eax
mov ecx, dword [0x10b30cc]
cmp ecx, ebx
je 0x103dd5d
test byte [ecx + 0x1c], 2
je 0x103dd5d
movzx edx, byte [ecx + 0x19]
xor eax, eax
test edi, edi
setl al
dec eax
and eax, 3
inc eax
inc eax
cmp edx, eax
jl 0x103dd5d
push edi
push 0x1003894
push 0x5e
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01028164
mov ecx, dword [0x10b30cc]
mov eax, 0xc00d28b1
cmp esi, eax
jne 0x103dd6e
mov dword [ebp - 0xa4], eax
jmp 0x103ddb0
mov eax, 0xc00d28a1
cmp esi, eax
jne 0x103dd84
mov dword [ebp - 0xa4], eax
mov esi, 0x800403fb
jmp 0x103ddb5
mov eax, 0xc00d28a0
cmp esi, eax
jne 0x103dd9a
mov dword [ebp - 0xa4], eax
mov esi, 0x800403fa
jmp 0x103ddb5
cmp esi, 0x8007000e
je 0x103ddaa
cmp esi, 0x80004005
jne 0x103ddb5
mov dword [ebp - 0xa4], esi
mov esi, 0x800403fe
cmp ecx, ebx
je 0x103ddd8
test byte [ecx + 0x1c], 2
je 0x103ddd8
cmp byte [ecx + 0x19], 2
jb 0x103ddd8
push esi
push 0x1003894
push 0x5f
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01028164
push dword [ebp - 0xf0]
mov edi, dword [ebp - 0xa8]
call dword [0x1001310]
cmp dword [ebp - 0xc0], 0
je 0x103de06
push dword [ebp - 0xc0]
call dword [0x10013a0]
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xb0]
cmp dword [eax - 0xc], 0
je 0x103dfdc
cmp esi, 0x800403c9
je 0x103dfdc
test esi, esi
jge 0x103dfc6
cmp dword [ebp - 0xa4], 0
jne 0x103de39
mov dword [ebp - 0xa4], esi
push 0x10b7af8
lea ecx, [ebp - 0xac]
call fcn.0104078f
push dword [ebp - 0xa4]
lea eax, [ebp - 0xac]
push 0x1002668
push eax
mov byte [ebp - 4], 9
call fcn.010292b1
add esp, 0xc
cmp dword [ebp - 0xa4], 0x80040208
je 0x103df72
mov eax, dword [ebp - 0xa4]
cmp eax, 0xc00d28a0
je 0x103df40
cmp eax, 0xc00d28a1
je 0x103df0e
cmp eax, 0xc00d28b0
je 0x103df72
cmp eax, 0xc00d28b1
push 0
je 0x103dedb
push dword [ebp - 0xb0]
push dword [ebp - 0xac]
push 0xc00d3822
push 1
push 0x10022cc
call fcn.0103ea3a
mov ecx, dword [edi + 0xc8]
call fcn.0103303e
push dword [ebp - 0xa4]
push 0xc00d3822
jmp 0x103dfaa
push 0
push dword [ebp - 0xb0]
push 0xc00d3821
push 1
push 0x10022cc
call fcn.0103ea3a
mov ecx, dword [edi + 0xc8]
call fcn.0103303e
push 0xc00d28b1
push 0xc00d3821
jmp 0x103dfaa
push 0
push 0
push dword [ebp - 0xb0]
push 0xc00d3820
push 1
push 0x10022cc
call fcn.0103ea3a
mov ecx, dword [edi + 0xc8]
call fcn.0103303e
push 0xc00d28a1
push 0xc00d3820
jmp 0x103dfaa
push 0
push 0
push dword [ebp - 0xb0]
push 0xc00d381f
push 1
push 0x10022cc
call fcn.0103ea3a
mov ecx, dword [edi + 0xc8]
call fcn.0103303e
push 0xc00d28a0
push 0xc00d381f
jmp 0x103dfaa
push 0
push dword [ebp - 0xb0]
mov edi, 0xc00d381e
push dword [ebp - 0xac]
push edi
push 1
push 0x10022cc
call fcn.0103ea3a
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax + 0xc8]
call fcn.0103303e
push dword [ebp - 0xa4]
push edi
mov eax, dword [eax]
push eax
call fcn.0103f789
mov ecx, dword [ebp - 0xac]
add ecx, 0xfffffff0
mov byte [ebp - 4], 8
call fcn.01026e74
jmp 0x103dfdc
push 0
push 0
push eax
push 0x400d3781
push 4
push 0x10022cc
call fcn.0103ea3a
test esi, esi
jge 0x103dfe6
push esi
call fcn.0104a19b
mov eax, dword [0x10b30cc]
cmp eax, ebx
je 0x103e01d
test byte [eax + 0x1c], 1
je 0x103e01d
movzx ecx, byte [eax + 0x19]
xor edx, edx
test esi, esi
setl dl
dec edx
and edx, 3
inc edx
inc edx
cmp ecx, edx
jl 0x103e01d
push esi
push 0x1003894
push 0x60
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01028164
mov eax, dword [ebp - 0xbc]
test eax, eax
mov byte [ebp - 4], 7
je 0x103e031
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc4]
test eax, eax
mov byte [ebp - 4], 6
je 0x103e045
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc8]
test eax, eax
mov byte [ebp - 4], 5
je 0x103e059
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xd0]
test eax, eax
mov byte [ebp - 4], 4
je 0x103e06d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xd8]
test eax, eax
mov byte [ebp - 4], 3
je 0x103e081
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xe0]
test eax, eax
mov byte [ebp - 4], 2
je 0x103e095
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xb4]
test eax, eax
mov byte [ebp - 4], 1
je 0x103e0a9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xb0]
add ecx, 0xfffffff0
call fcn.01026e74
mov ecx, dword [ebp - 0xdc]
add ecx, 0xfffffff0
call fcn.01026e74
mov eax, esi
call fcn.0107a7e0
ret 0xc