Function at 0x103fbda
Capabilities:
Link many functions at runtime

Disassembly:
push 0x4bc
push 0x1070268
call fcn.0105bac4
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x420], ebx
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103fc1c
test byte [eax + 0x1c], 4
je 0x103fc1c
cmp byte [eax + 0x19], 5
jb 0x103fc1c
push 0x1002dc0
push 0xc
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov dword [ebp - 0x478], 0x18
mov edi, fcn.0103f134
mov dword [ebp - 0x474], edi
mov esi, 0x103e633
mov dword [ebp - 0x470], esi
mov edx, 0x103fa59
mov dword [ebp - 0x46c], edx
mov ecx, 0x103e762
mov dword [ebp - 0x468], ecx
mov eax, 0x103e90f
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], 0x24
mov dword [ebp - 0x45c], edi
mov dword [ebp - 0x458], esi
mov dword [ebp - 0x454], edx
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], fcn.0103f5d9
mov dword [ebp - 0x444], fcn.0103f048
mov eax, dword [0x1078100]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x440], eax
and dword [ebp - 0x438], 0
mov edi, dword [ebp - 0x438]
cmp edi, dword [ebx + 0xc]
jae 0x1040908
xor eax, eax
mov word [ebp - 0x21c], ax
mov esi, 0x1fe
push esi
push eax
lea eax, [ebp - 0x21a]
push eax
call sub.msvcrt.dll_memset
xor eax, eax
mov word [ebp - 0x41c], ax
push esi
push eax
lea eax, [ebp - 0x41a]
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
push 0x668
call fcn.0105c184
mov esi, eax
mov dword [ebp - 0x42c], esi
test esi, esi
jne 0x103fd4e
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10407c5
test byte [eax + 0x1c], 4
je 0x10407c5
cmp byte [eax + 0x19], 2
jb 0x10407c5
imul edi, edi, 0x14
mov ecx, dword [ebx + 8]
push dword [ecx + edi + 4]
push 0x1002dc0
push 0xd
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
jmp 0x10407c5
push 0x668
push 0
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [esi + 0x660]
mov dword [esi + 0x664], eax
mov dword [eax], eax
imul edi, edi, 0x14
mov eax, dword [ebx + 8]
mov eax, dword [edi + eax]
test eax, eax
jne 0x103fd7e
mov eax, 0x1001768
lea ecx, [esi + 0x28]
push eax
push 0x104
push ecx
call fcn.010676d2
mov ebx, eax
mov dword [ebp - 0x430], ebx
test ebx, ebx
jl 0x103fe73
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov eax, dword [edi + eax + 4]
test eax, eax
jne 0x103fdb3
mov eax, 0x1001768
lea ecx, [esi + 0x230]
push eax
push 0x104
push ecx
call fcn.010676d2
mov ebx, eax
mov dword [ebp - 0x430], ebx
test ebx, ebx
jl 0x103fe73
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov eax, dword [edi + eax + 8]
test eax, eax
jne 0x103fdeb
mov eax, 0x1001768
push eax
push 0x104
lea eax, [esi + 0x438]
push eax
call fcn.010676d2
mov ebx, eax
mov dword [ebp - 0x430], ebx
test ebx, ebx
jl 0x103fe73
mov eax, 0x100
push eax
lea ecx, [ebp - 0x41c]
push ecx
push eax
lea eax, [ebp - 0x21c]
push eax
xor eax, eax
push eax
push eax
push eax
push eax
lea eax, [esi + 0x230]
push eax
call sub.msvcrt.dll__wsplitpath_s
add esp, 0x24
test eax, eax
je 0x103fe73
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103fe66
test byte [eax + 0x1c], 4
je 0x103fe66
cmp byte [eax + 0x19], 2
jb 0x103fe66
push 0x1002dc0
push 0xe
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov eax, dword [0x1075004]
mov ebx, 0x80004005
mov dword [ebp - 0x430], ebx
jmp 0x103fe78
mov eax, dword [0x1075004]
test ebx, ebx
jge 0x103fec6
cmp eax, 0x1075004
je 0x103fea2
test byte [eax + 0x1c], 4
je 0x103fea2
cmp byte [eax + 0x19], 2
jb 0x103fea2
push ebx
push 0x1002dc0
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
mov dword [esi + 0xc], 6
mov eax, ebx
and eax, 0x1fff0000
cmp eax, 0x70000
jne 0x10407c2
and ebx, 0xffff
jmp 0x10407c2
push 0x1002ea0
lea eax, [ebp - 0x21c]
push eax
mov ebx, dword [sym.imp.msvcrt.dll__wcsicmp]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x103fefe
push 0x100174c
lea eax, [ebp - 0x41c]
push eax
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x103fefe
mov dword [esi + 0x644], 1
cmp dword [esi + 0x644], 0
je 0x103ff4d
cmp dword [ebp - 0x440], 0
jne 0x103ff4d
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10407c5
test byte [eax + 0x1c], 4
je 0x10407c5
cmp byte [eax + 0x19], 2
jb 0x10407c5
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
push dword [edi + ecx + 4]
push 0x1002dc0
push 0x10
jmp 0x103fd3e
mov ebx, dword [ebp - 0x420]
mov eax, dword [ebx + 8]
push dword [edi + eax + 4]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x434], eax
test eax, eax
jne 0x103ffc2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x424], eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x103ffad
test byte [eax + 0x1c], 4
je 0x103ffad
cmp byte [eax + 0x19], 3
jb 0x103ffad
push dword [ebp - 0x424]
mov ecx, dword [ebx + 8]
push dword [edi + ecx + 4]
push 0x1002dc0
push 0x11
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
mov dword [esi + 0xc], 4
mov eax, dword [ebp - 0x424]
mov dword [esi + 0x10], eax
jmp 0x10407c5
mov dword [esi + 8], eax
lea eax, [esi + 0x14]
mov dword [eax], 0x14
push eax
mov eax, dword [ebx + 8]
push dword [edi + eax + 4]
call fcn.0105d047
test eax, eax
je 0x1040013
mov ecx, dword [0x1075004]
cmp ecx, 0x1075004
je 0x1040013
test byte [ecx + 0x1c], 4
je 0x1040013
cmp byte [ecx + 0x19], 2
jb 0x1040013
push eax
mov eax, dword [ebx + 8]
push dword [edi + eax + 4]
push 0x1002dc0
push 0x12
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010091cb
push 0x1002e8c
push dword [ebp - 0x434]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call ebx
mov dword [esi + 0x648], eax
push 0x1002e74
push dword [ebp - 0x434]
call ebx
mov dword [esi + 0x64c], eax
push 0x1002e5c
push dword [ebp - 0x434]
call ebx
mov dword [esi + 0x650], eax
push 0x1002e44
push dword [ebp - 0x434]
call ebx
mov dword [esi + 0x654], eax
push 0x1002e20
push dword [ebp - 0x434]
call ebx
mov dword [esi + 0x658], eax
cmp dword [esi + 0x648], 0
je 0x104077c
xor ecx, ecx
cmp dword [esi + 0x64c], ecx
je 0x104077c
cmp dword [esi + 0x650], ecx
je 0x104077c
cmp eax, ecx
je 0x104077c
cmp dword [esi + 0x654], ecx
je 0x104077c
push 0x1001684
push dword [ebp - 0x434]
call ebx
mov dword [esi + 0x65c], eax
test eax, eax
jne 0x10400f8
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10400f8
test byte [eax + 0x1c], 4
je 0x10400f8
cmp byte [eax + 0x19], 5
jb 0x10400f8
lea ecx, [esi + 0x28]
push ecx
push 0x1002dc0
push 0x14
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
cmp dword [esi + 0x644], 0
je 0x1040109
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
jmp 0x104011b
push 0x200000
push 0x19000
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [esi + 0x640], eax
test eax, eax
jne 0x1040167
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040158
test byte [eax + 0x1c], 4
je 0x1040158
cmp byte [eax + 0x19], 2
jb 0x1040158
push edi
push 0x1002dc0
push 0x15
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
mov dword [esi + 0xc], 1
mov dword [esi + 0x10], edi
jmp 0x10407c5
mov eax, dword [esi + 0x65c]
test eax, eax
je 0x1040211
and dword [ebp - 4], 0
push fcn.0105c238
push 0x1051a1a
push 0x10528b7
push 0x1052383
push 0x1050af5
call eax
mov dword [ebp - 0x430], eax
mov dword [ebp - 4], 0xfffffffe
jmp 0x10401cc
mov edi, dword [ebp - 0x430]
test edi, edi
jge 0x1040211
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040205
test byte [eax + 0x1c], 4
je 0x1040205
cmp byte [eax + 0x19], 2
jb 0x1040205
lea ecx, [esi + 0x28]
push ecx
push edi
push 0x1002dc0
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090eb
mov dword [esi + 0xc], 6
jmp 0x104015f
mov dword [ebp - 4], 1
cmp dword [esi + 0x644], 0
lea eax, [ebp - 0x460]
jne 0x104022d
lea eax, [ebp - 0x478]
push eax
push dword [esi + 0x640]
call dword [esi + 0x648]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 4], 0xfffffffe
jmp 0x1040272
cmp dword [ebp - 0x43c], 0
jne 0x10402bf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040205
test byte [eax + 0x1c], 4
je 0x1040205
cmp byte [eax + 0x19], 2
jb 0x1040205
push edi
push 0x1002dc0
push 0x17
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
jmp 0x1040205
xor ebx, ebx
mov edi, dword [ebp - 0x438]
imul edi, edi, 0x14
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
add eax, edi
cmp dword [eax + 0xc], ebx
jbe 0x10404f2
mov dword [ebp - 0x424], ebx
and dword [ebp - 0x42c], 0
push 0x1002dd0
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x424]
push dword [eax + ecx + 8]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x104034d
call fcn.0106163b
test eax, eax
jne 0x104034d
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10404d6
test byte [eax + 0x1c], 4
je 0x10404d6
cmp byte [eax + 0x19], 5
jb 0x10404d6
push 0x1002dc0
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
jmp 0x10404d6
push 0x38
call fcn.0105c184
mov dword [ebp - 0x428], eax
test eax, eax
je 0x1040507
push 0x38
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x428]
mov dword [ecx + 0x34], esi
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov edx, dword [edi + eax + 0x10]
mov eax, dword [ebp - 0x424]
mov edx, dword [edx + eax + 0x10]
mov dword [ecx + 0x20], edx
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
mov ecx, dword [edi + ecx + 0x10]
cmp dword [eax + ecx], 0
je 0x10403bd
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov eax, dword [edi + eax + 0x10]
mov ecx, dword [ebp - 0x424]
mov eax, dword [ecx + eax]
jmp 0x10403c2
mov eax, 0x1001768
push eax
call fcn.0105c8ee
mov ecx, dword [ebp - 0x428]
mov dword [ecx + 0x28], eax
test eax, eax
je 0x104055d
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov eax, dword [edi + eax + 0x10]
mov ecx, dword [ebp - 0x424]
mov eax, dword [eax + ecx + 4]
test eax, eax
jne 0x10403f9
mov eax, 0x1001768
push eax
call fcn.0105c8ee
mov ecx, dword [ebp - 0x428]
mov dword [ecx + 0x24], eax
test eax, eax
je 0x10405bc
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov eax, dword [edi + eax + 0x10]
mov ecx, dword [ebp - 0x424]
mov eax, dword [eax + ecx + 0xc]
test eax, eax
jne 0x1040430
mov eax, 0x1001768
push eax
call fcn.0105c8ee
mov ecx, dword [ebp - 0x428]
mov dword [ecx + 0x2c], eax
test eax, eax
je 0x10405fd
mov eax, ecx
add eax, 0x10
push eax
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
mov eax, dword [edi + eax + 0x10]
mov ecx, dword [ebp - 0x424]
push dword [eax + ecx + 8]
call dword [sym.imp.ole32.dll_IIDFromString]
mov dword [ebp - 0x430], eax
test eax, eax
jne 0x1040641
mov eax, dword [ebp - 0x428]
push dword [eax + 0x24]
call fcn.0105c248
mov dword [ebp - 0x42c], eax
test eax, eax
je 0x1040697
push eax
push dword [ebp - 0x434]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x428]
mov dword [ecx + 0x30], eax
test eax, eax
je 0x10406db
push dword [ebp - 0x42c]
call fcn.0105c21c
lea eax, [esi + 0x660]
mov edx, dword [eax + 4]
mov ecx, dword [ebp - 0x428]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [edx], ecx
mov dword [eax + 4], ecx
inc ebx
add dword [ebp - 0x424], 0x14
mov eax, dword [ebp - 0x420]
mov eax, dword [eax + 8]
add eax, edi
cmp ebx, dword [eax + 0xc]
jb 0x10402e4
and dword [esi + 0xc], 0
and dword [esi + 0x10], 0
lea ebx, [esi + 0x660]
mov eax, dword [ebx]
jmp 0x1040773
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x424], eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040551
test byte [eax + 0x1c], 4
je 0x1040551
cmp byte [eax + 0x19], 2
jb 0x1040551
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
imul ebx, ebx, 0x14
mov ecx, dword [edi + ecx + 0x10]
push dword [ecx + ebx + 4]
push 0x1002dc0
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
mov dword [esi + 0xc], 1
jmp 0x103ffb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x424], eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10405a7
test byte [eax + 0x1c], 4
je 0x10405a7
cmp byte [eax + 0x19], 2
jb 0x10405a7
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
imul ebx, ebx, 0x14
mov ecx, dword [edi + ecx + 0x10]
push dword [ecx + ebx + 4]
push 0x1002dc0
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
mov dword [esi + 0xc], 1
mov eax, dword [ebp - 0x424]
mov dword [esi + 0x10], eax
jmp 0x104071e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x424], eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10405a7
test byte [eax + 0x1c], 4
je 0x10405a7
cmp byte [eax + 0x19], 2
jb 0x10405a7
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
imul ebx, ebx, 0x14
mov ecx, dword [edi + ecx + 0x10]
push dword [ecx + ebx + 4]
push 0x1002dc0
push 0x1b
jmp 0x104059c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x424], eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10405a7
test byte [eax + 0x1c], 4
je 0x10405a7
cmp byte [eax + 0x19], 2
jb 0x10405a7
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
imul ebx, ebx, 0x14
mov ecx, dword [edi + ecx + 0x10]
push dword [ecx + ebx + 0xc]
push 0x1002dc0
push 0x1c
jmp 0x104059c
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040685
test byte [eax + 0x1c], 4
je 0x1040685
cmp byte [eax + 0x19], 2
jb 0x1040685
push dword [ebp - 0x430]
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
imul ebx, ebx, 0x14
mov ecx, dword [edi + ecx + 0x10]
push dword [ecx + ebx + 8]
push 0x1002dc0
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
mov dword [esi + 0xc], 2
mov eax, dword [ebp - 0x430]
jmp 0x10405b4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10406d2
test byte [eax + 0x1c], 4
je 0x10406d2
cmp byte [eax + 0x19], 2
jb 0x10406d2
mov ecx, dword [ebp - 0x428]
push dword [ecx + 0x24]
push 0x1002dc0
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0100915e
mov dword [esi + 0xc], 1
jmp 0x104071b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040714
test byte [eax + 0x1c], 4
je 0x1040714
cmp byte [eax + 0x19], 2
jb 0x1040714
push edi
push dword [ebp - 0x42c]
push 0x1002dc0
push 0x1f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0103e5dd
mov dword [esi + 0xc], 5
mov dword [esi + 0x10], edi
mov edi, dword [ebp - 0x428]
push dword [edi + 0x28]
call fcn.0105c21c
push dword [edi + 0x24]
call fcn.0105c21c
push dword [edi + 0x2c]
call fcn.0105c21c
push edi
call fcn.0105c21c
push dword [ebp - 0x42c]
call fcn.0105c21c
jmp 0x10407c5
mov edx, eax
mov eax, dword [eax]
mov edi, dword [0x1077f9c]
lea ecx, [edx + 8]
mov dword [ecx], 0x1077f98
mov dword [edx + 0xc], edi
mov dword [edi], ecx
mov dword [0x1077f9c], ecx
inc dword [0x1077f94]
cmp eax, ebx
jne 0x104074f
jmp 0x10408dd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x10407bb
test byte [eax + 0x1c], 4
je 0x10407bb
cmp byte [eax + 0x19], 2
jb 0x10407bb
push ebx
mov ecx, dword [ebp - 0x420]
mov ecx, dword [ecx + 8]
push dword [edi + ecx]
push 0x1002dc0
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
mov dword [esi + 0xc], 5
mov dword [esi + 0x10], ebx
test esi, esi
je 0x10407e3
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x4cc], eax
xor eax, eax
mov word [ebp - 0x4c8], ax
lea ecx, [ebp - 0x4cc]
jmp 0x10407fc
mov dword [ebp - 0x494], 0xe
xor eax, eax
mov word [ebp - 0x490], ax
lea ecx, [ebp - 0x494]
call fcn.01009ad5
mov edi, eax
test esi, esi
je 0x1040826
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x4b0], eax
xor eax, eax
mov word [ebp - 0x4ac], ax
lea ecx, [ebp - 0x4b0]
call fcn.01009ad5
jmp 0x1040828
xor eax, eax
mov ecx, dword [ebp - 0x438]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0x420]
mov edx, dword [edx + 8]
add ecx, edx
push edi
push eax
push dword [ecx + 4]
push dword [ecx]
push 0xc0007d24
push 4
push 1
push 1
call fcn.0105d809
add esp, 0x20
test esi, esi
je 0x10408f7
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
je 0x1040871
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 8], ebx
lea edi, [esi + 0x640]
mov eax, dword [edi]
cmp eax, ebx
je 0x104088e
cmp dword [esi + 0x644], ebx
jne 0x104088e
push eax
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
mov dword [edi], ebx
lea edi, [esi + 0x660]
mov ebx, dword [edi]
jmp 0x10408d1
mov eax, ebx
mov dword [ebp - 0x428], eax
mov ebx, dword [ebx]
push dword [eax + 0x28]
call fcn.0105c21c
mov eax, dword [ebp - 0x428]
push dword [eax + 0x24]
call fcn.0105c21c
mov eax, dword [ebp - 0x428]
push dword [eax + 0x2c]
call fcn.0105c21c
push dword [ebp - 0x428]
call fcn.0105c21c
cmp ebx, edi
jne 0x1040898
mov dword [esi + 0x664], edi
mov dword [edi], edi
test esi, esi
je 0x10408f7
mov eax, dword [0x1077fa4]
mov dword [esi], 0x1077fa0
mov dword [esi + 4], eax
mov dword [eax], esi
mov dword [0x1077fa4], esi
inc dword [ebp - 0x438]
mov ebx, dword [ebp - 0x420]
jmp 0x103fcae
call fcn.0103f2bc
cmp dword [0x1077f94], 0
jne 0x1040940
mov eax, dword [0x1075004]
cmp eax, 0x1075004
je 0x1040940
test byte [eax + 0x1c], 4
je 0x1040940
cmp byte [eax + 0x19], 3
jb 0x1040940
push 0x1002dc0
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
xor eax, eax
inc eax
call fcn.0105bb0c
ret 4