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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x264
push ebx
push esi
push edi
push 0x21
push 0x1002ff4c
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
call fcn.1003ae40
mov ebx, dword [ebp + 8]
mov ecx, ebx
push 0x29
push 0x1002ff70
mov dword [ebx], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
call fcn.1003ae40
push 0x18
push 0x1002ff9c
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
push 7
push 0x1002ffb8
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0x1c
push 0x1002ffc0
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 3
push 0x1002ffe0
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x18
push 0x1002ffe4
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
call fcn.1003ae40
push 0xf
push 0x10030000
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 0x13
push 0x10030010
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
push 8
push 0x10030024
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x13
push 0x10030030
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 0x1a
push 0x10030044
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
push 0xf
push 0x10030060
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
push 9
push 0x10030070
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
call fcn.1003ae40
lea ecx, [esp + 0xa0]
push ecx
lea eax, [esp + 0x1c4]
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.100785e0
push 0x1003adf0
push 0xc
push 0x18
lea eax, [esp + 0xac]
push eax
call fcn.10079b58
push 0xf
push 0x1003007c
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
push 5
push 0x1003008c
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 5
push 0x10030094
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 0x15
push 0x1003009c
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x24
push 0x100300b4
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0xf
call fcn.1003ae40
push 0x1c
push 0x100300dc
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 5
mov dword [esp + 0x134], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0xf
push 0x100300fc
lea ecx, [esp + 0x138]
call fcn.1003ae40
push 0x17
push 0x10030104
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0xa
push 0x1003011c
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 7
push 0x10030128
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
push 0x18
push 0x10030130
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
push 0xf
push 0x1003014c
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
call fcn.1003ae40
push 0x16
push 0x1003015c
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0xf
call fcn.1003ae40
push 0x1b
push 0x10030174
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0xf
call fcn.1003ae40
push 0x1b
push 0x10030190
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0xf
call fcn.1003ae40
push 0x13
push 0x100301ac
lea ecx, [esp + 0x210]
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
call fcn.1003ae40
push 7
push 0x100301c0
lea ecx, [esp + 0x228]
mov dword [esp + 0x228], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x23c], 0xf
call fcn.1003ae40
push 3
push 0x100301c8
lea ecx, [esp + 0x240]
mov dword [esp + 0x240], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x254], 0xf
call fcn.1003ae40
mov dword [esp + 0x250], 0
mov dword [esp + 0x260], 0
push 0x27
push 0x100301cc
lea ecx, [esp + 0x258]
mov dword [esp + 0x26c], 0xf
call fcn.1003ae40
lea ecx, [esp + 0xa0]
push ecx
lea eax, [esp + 0x26c]
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.100785e0
push 0x1003adf0
push 0x13
push 0x18
lea eax, [esp + 0xac]
push eax
call fcn.10079b58
mov edx, dword [0x1009d074]
push ecx
mov ecx, dword [0x1009d070]
call fcn.1003b800
mov eax, dword [0x1009d070]
lea ecx, [esp + 0x14]
sub esp, 0x4c
mov dword [0x1009d074], eax
call fcn.10041b90
mov ecx, eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xac], 0
mov edx, 0xf
mov dword [esp + 0xb0], 0xf
add esp, 0x50
cmp dword [ecx + 0x10], edx
cmovb edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
jb 0x10047279
mov ecx, dword [ecx]
push edx
push ecx
lea ecx, [esp + 0x54]
call fcn.1003ae40
cmp dword [esp + 0x60], 0x10
lea edi, [esp + 0x4c]
mov edx, dword [ebp + 0x38]
mov esi, 0x1009d1d0
cmovae edi, dword [esp + 0x4c]
cmp dword [0x1009d1e4], 0x10
mov eax, dword [ebp + 0x24]
cmovae esi, dword [0x1009d1d0]
push edx
push 0x16da6
sub esp, 8
push dword [0x100027b0]
push ecx
push dword [ebp + 0x58]
mov ecx, dword [0x1000278c]
push eax
push ebx
push ecx
push ecx
push edx
mov edx, dword [ebp + 0x14]
push 0x1009d11c
push ecx
push eax
sub esp, 0xc
push 0xd90a
push ecx
lea ecx, [esp + 0x78]
call fcn.10045620
add esp, 0x50
push edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0
push 0x100301f4
call dword [sym.imp.SHLWAPI.dll_PathFindOnPathA]
mov edx, dword [esp + 0x60]
cmp edx, 0x10
jb 0x10047333
mov ecx, dword [esp + 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047329
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f40
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x24]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0xf
mov byte [esp + 0x4c], 0
cmp edx, 0x10
jb 0x1004737e
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047374
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f40
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x100473c9
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100473bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f40
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d180], 0x6d
jae 0x1004748b
push 0x1009d1b8
push 0x1009d0e8
mov edx, 0x1009d134
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d170
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10047440
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047436
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f45
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x1004748b
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047481
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f45
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d1e0], 0x4d
jae 0x1004754d
push 0x1009d20c
push 0x1009d1f4
mov edx, 0x1009d170
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d1d0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10047502
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100474f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f4a
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x1004754d
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047543
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f4a
push edx
push ecx
call fcn.10079b22
add esp, 8
push dword [esp + 0x26c]
mov ecx, 0x1009d094
push dword [esp + 0x48]
push dword [esp + 0x48]
call fcn.10078c90
cmp dword [0x1009d144], 0x2f
jae 0x10047628
push 0x1009d11c
push 0x1009d1f4
mov edx, 0x1009d170
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d134
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x100475dd
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100475d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f4f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10047628
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004761e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f4f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, ebx
mov ecx, 0x1009d0e8
call fcn.10078b00
movzx edx, al
xor ecx, ecx
mov eax, dword [0x100027c4]
sub eax, dword [0x100027a0]
test eax, eax
setg cl
cmp edx, ecx
je 0x1004770f
cmp dword [0x1009d12c], 0x1b
jae 0x1004770f
push ebx
push 0x1009d134
mov edx, 0x1009d14c
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d11c
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x100476c4
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100476ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f54
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x1004770f
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047705
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f54
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d180], 0x6d
jae 0x100477d1
push 0x1009d1b8
push 0x1009d0e8
mov edx, 0x1009d134
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d170
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10047786
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004777c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f59
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x100477d1
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100477c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f59
push edx
push ecx
call fcn.10079b22
add esp, 8
sub esp, 0x50
lea ecx, [esp + 0x78]
call fcn.10041b90
add esp, 0x50
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x100477ef
mov eax, dword [eax]
mov byte [eax], 0
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x10047828
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004781e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f5e
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [esp + 0x98], 0xc5
jae 0x100479ac
push 0x1009d1b8
push 0x1009d1f4
push 0x1009d1b8
push 0x1009d20c
mov edx, 0x1009d20c
lea ecx, [esp + 0x74]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x34]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x54]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x88]
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x100478cb
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100478c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f63
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10047916
mov ecx, dword [esp + 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004790c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f63
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0xf
mov byte [esp + 0x4c], 0
cmp edx, 0x10
jb 0x10047961
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047957
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f63
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x78]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp edx, 0x10
jb 0x100479ac
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100479a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f63
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
call fcn.1003b800
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x8c]
push 0x1002fac8
mov dword [esp + 0x4c], eax
call fcn.10078750
movsd xmm0, qword [0x10037500]
mov esi, eax
call fcn.10096060
cvttsd2si eax, xmm0
add esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
sub esp, 0x50
lea ecx, [esp + 0xb4]
xor eax, esi
sub dword [0x1000278c], eax
call fcn.10040850
add esp, 0x50
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x10047a17
mov eax, dword [eax]
mov byte [eax], 0
mov edx, dword [esp + 0x78]
cmp edx, 0x10
jb 0x10047a50
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047a46
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f68
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [0x1009d1ec]
push ecx
mov ecx, dword [0x1009d1e8]
call fcn.1003b800
mov eax, dword [0x1009d1e8]
add esp, 4
cmp dword [0x1009d0c8], 0xaa
mov dword [0x1009d1ec], eax
jae 0x10047b91
lea eax, [esp + 0x88]
mov edx, 0x1009d100
push eax
push 0x1009d11c
push ebx
lea ecx, [esp + 0x70]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x18]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x2c]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d0b8
push eax
call fcn.1003b590
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x10047afb
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047af1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f6d
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp edx, 0x10
jb 0x10047b46
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047b3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f6d
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10047b91
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047b87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f6d
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d168]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d164]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10047c20
xor edi, edi
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x68]
call fcn.1003d520
mov edx, dword [esp + 0x78]
cmp edx, 0x10
jb 0x10047bf9
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047bef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f7c
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d168]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d164]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10047bb6
cmp dword [0x1009d1e0], 0x40
mov edi, dword [ebp + 8]
jae 0x10047d42
push 0x1009d0b8
lea eax, [esp + 0x8c]
mov edx, 0x1009d20c
push edi
push eax
lea ecx, [esp + 0x70]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x18]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x2c]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d1d0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x10047cac
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047ca2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f72
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp edx, 0x10
jb 0x10047cf7
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047ced
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f72
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10047d42
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047d38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f72
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d0f8], 0x68
jae 0x10047e04
push 0x1009d11c
push 0x1009d134
mov edx, 0x1009d11c
lea ecx, [esp + 0x6c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x2c]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d0e8
push eax
call fcn.1003b590
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x10047db9
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047daf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f77
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x78]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
cmp edx, 0x10
jb 0x10047e04
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047dfa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f77
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x10047e89
mov edx, dword [esp + 0x80]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x88]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x80]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10047e61
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f7c
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x10047eff
mov edx, dword [esp + 0x44]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x4c]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x44]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10047edd
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f7c
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov edx, dword [esp + 0x9c]
cmp edx, 0x10
jb 0x10047f37
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10047f2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10047f7c
push edx
push ecx
call fcn.10079b22
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
int3