Function at 0x1004b310
Capabilities:
Check if file exists
Get file attributes
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x22c
push ebx
push esi
push edi
push 0x2b
push 0x10030980
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
call fcn.1003ae40
push 0xe
push 0x100309ac
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
call fcn.1003ae40
push 0x1a
push 0x100309bc
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0x21
push 0x100309d8
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 6
push 0x100309fc
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x12
push 0x10030a04
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 0x10030a18
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 0x20
push 0x10030a38
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
push 0x15
push 0x10030a5c
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x25
push 0x10030a74
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 0xf
push 0x10030a9c
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
mov dword [esp + 0x190], 0
push 0x20
push 0x10030aac
lea ecx, [esp + 0x198]
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
push 0x20
push 0x10030ad0
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
call fcn.1003ae40
push 0xb
push 0x10030af4
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0xf
call fcn.1003ae40
push 6
push 0x10030b00
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0xf
call fcn.1003ae40
push 0x26
push 0x10030b08
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0xf
call fcn.1003ae40
push 0x12
push 0x10030b30
lea ecx, [esp + 0x210]
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
call fcn.1003ae40
lea ecx, [esp + 0xb8]
push ecx
lea eax, [esp + 0x224]
push eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.100785e0
push 0x1003adf0
push 0xf
push 0x18
lea eax, [esp + 0xc4]
push eax
call fcn.10079b58
push 0x1c
push 0x10030b44
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
call fcn.1003ae40
push 0x21
push 0x10030b64
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
call fcn.1003ae40
push 0x27
push 0x10030b88
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
call fcn.1003ae40
push 0x20
mov dword [esp + 0x104], 0
lea ecx, [esp + 0x104]
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0xf
push 0x10030bb0
call fcn.1003ae40
push 0x24
push 0x10030bd4
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0xf
call fcn.1003ae40
push 0xb
push 0x10030bfc
lea ecx, [esp + 0x138]
mov dword [esp + 0x138], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0xf
call fcn.1003ae40
push 0x19
push 0x10030c08
lea ecx, [esp + 0x150]
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0xf
call fcn.1003ae40
push 0x10
push 0x10030c24
lea ecx, [esp + 0x168]
mov dword [esp + 0x168], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0xf
call fcn.1003ae40
push 0xd
push 0x10030c38
lea ecx, [esp + 0x180]
mov dword [esp + 0x180], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0xf
call fcn.1003ae40
push 0x20
push 0x10030c48
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0xf
call fcn.1003ae40
push 0x23
push 0x10030c6c
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0xf
call fcn.1003ae40
push 3
push 0x10030c90
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0xf
call fcn.1003ae40
push 0x19
push 0x10030c94
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0xf
call fcn.1003ae40
push 0x26
push 0x10030cb0
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0xf
call fcn.1003ae40
push 0x22
push 0x10030cd8
lea ecx, [esp + 0x210]
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
call fcn.1003ae40
mov dword [esp + 0x220], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0xf
push 0x11
push 0x10030cfc
lea ecx, [esp + 0x228]
call fcn.1003ae40
lea ecx, [esp + 0xb8]
push ecx
lea eax, [esp + 0x23c]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.100785e0
push 0x1003adf0
push 0x10
push 0x18
lea eax, [esp + 0xc4]
push eax
call fcn.10079b58
push 0x10030d10
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
cmp dword [0x1009d0f8], 0x75
mov dword [0x1000278c], eax
jae 0x1004bb63
push 0x1009d188
push 0x1009d134
push 0x1009d1f4
mov edx, 0x1009d20c
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x50]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x10]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d0e8
push eax
call fcn.1003b590
mov edx, dword [esp + 0x20]
cmp edx, 0x10
jb 0x1004bacd
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bac3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c85f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0xf
mov byte [esp + 0xc], 0
cmp edx, 0x10
jb 0x1004bb18
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bb0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c85f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x38]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], 0
cmp edx, 0x10
jb 0x1004bb63
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bb59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c85f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d098]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d094]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1004bbf2
xor edi, edi
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x28]
call fcn.1003d520
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1004bbcb
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bbc1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d098]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d094]
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 0x1004bb88
push 3
push 0x10030d30
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0xf
call fcn.1003ae40
cmp dword [esp + 0x20], 0x10
lea eax, [esp + 0xc]
cmovae eax, dword [esp + 0xc]
mov byte [eax], 0
mov edx, dword [esp + 0x20]
cmp edx, 0x10
jb 0x1004bc61
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bc57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [0x1009d098]
push ecx
mov ecx, dword [0x1009d094]
call fcn.1003b800
mov eax, dword [0x1009d094]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [0x1009d098], eax
call fcn.1003b800
mov eax, dword [esp + 0x40]
add esp, 4
cmp dword [0x1009d1b0], 0x5b
mov dword [esp + 0x40], eax
jae 0x1004bcf8
lea eax, [esp + 0x88]
mov edx, 0x1009d1f4
push eax
lea ecx, [esp + 0x28]
call fcn.100789e0
add esp, 4
mov ecx, 0x1009d1a0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1004bcf8
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bcee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c864
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d0e0], 0xa2
jae 0x1004be1e
push 0x1009d1f4
lea eax, [esp + 0x8c]
mov edx, 0x1009d170
push 0x1009d11c
push eax
lea ecx, [esp + 0x30]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x4c]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d0d0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x5c]
cmp edx, 0x10
jb 0x1004bd88
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bd7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c869
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], 0
cmp edx, 0x10
jb 0x1004bdd3
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bdc9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c869
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0xf
mov byte [esp + 0xc], 0
cmp edx, 0x10
jb 0x1004be1e
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004be14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c869
push edx
push ecx
call fcn.10079b22
add esp, 8
push dword [esp + 0x84]
mov ecx, 0x1009d164
push dword [0x1009d098]
push dword [0x1009d094]
call fcn.10078c90
push dword [0x100027a8]
mov eax, dword [0x10002794]
push dword [ebp + 0x34]
mov ebx, dword [ebp + 0x4c]
push dword [ebp + 0x10]
mov edi, dword [ebp + 0x48]
push 0x14018
push eax
push 0x1009d0b8
push dword [0x10002788]
push dword [ebp + 0x50]
push 0x1009d0d0
push 0x812e
push dword [0x100027ac]
push ebx
push eax
push dword [ebp + 0x24]
lea eax, [esp + 0xd8]
push edi
push eax
push dword [ebp + 0x14]
lea eax, [esp + 0xcc]
push 0x1009d0a0
push dword [0x100027b0]
push dword [0x100027b4]
push eax
lea eax, [esp + 0x78]
push eax
call sym.desktop.d_shouting
add esp, 0x58
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x1004bebc
mov eax, dword [eax]
mov byte [eax], 0
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1004bef5
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004beeb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c86e
push edx
push ecx
call fcn.10079b22
add esp, 8
push 3
push 0x10030d30
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0xf
call fcn.1003ae40
cmp dword [esp + 0x20], 0x10
lea eax, [esp + 0xc]
cmovae eax, dword [esp + 0xc]
mov byte [eax], 0
mov edx, dword [esp + 0x20]
cmp edx, 0x10
jb 0x1004bf64
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bf5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, 0x59
mov dword [esp + 0xc], 0
cmp dword [0x1009d1e0], ecx
mov eax, 0x1009d1d0
mov dword [esp + 0x1c], 0
cmovb ecx, dword [0x1009d1e0]
cmp dword [0x1009d1e4], 0x10
push ecx
cmovae eax, dword [0x1009d1d0]
lea ecx, [esp + 0x10]
push eax
mov dword [esp + 0x28], 0xf
call fcn.1003ae40
cmp dword [esp + 0x20], 0x10
lea eax, [esp + 0xc]
cmovae eax, dword [esp + 0xc]
mov byte [eax], 0
mov edx, dword [esp + 0x20]
cmp edx, 0x10
jb 0x1004bff3
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004bfe9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push edx
push ecx
call fcn.10079b22
add esp, 8
mov eax, dword [0x100027ac]
lea ecx, [esp + 0x24]
push eax
push dword [ebp + 0x40]
mov esi, dword [ebp + 8]
mov edx, 0x812e
push dword [0x100027b0]
push 0x1009d0a0
push dword [ebp + 0x20]
push 0x1009d0b8
push dword [ebp + 0x44]
push 0x1009d20c
push dword [0x10002788]
push dword [0x1000278c]
push eax
push edi
push esi
push esi
push dword [0x100027b4]
push edi
push 0x14018
push edi
push ebx
push dword [ebp + 0x54]
call fcn.10043180
mov ebx, eax
add esp, 0x50
cmp dword [ebx + 0x14], 0x10
jb 0x1004c056
mov ebx, dword [ebx]
sub esp, 0xc
lea eax, [esp + 0xac]
mov edx, 0x14018
push 0x1009d0d0
push dword [ebp + 0x20]
push 0x1009d1d0
push ecx
push dword [ebp + 0x2c]
push 0x1009d1b8
push 0x1009d0d0
push 0x14018
push ecx
push eax
push ecx
push 0x812e
push ecx
mov ecx, dword [ebp + 0x18]
push esi
sub esp, 8
call fcn.10049780
add esp, 0x4c
mov esi, eax
push 0x10030d34
call fcn.10081304
add esp, 4
mov edi, eax
sub edi, esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edx, dword [esp + 0x38]
xor eax, edi
add dword [0x100027a8], eax
cmp edx, 0x10
jb 0x1004c0f5
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c0eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c873
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [esp + 0xb0], 0x66
jae 0x1004c279
push 0x1009d100
push 0x1009d1f4
push 0x1009d0d0
push 0x1009d0b8
mov edx, 0x1009d20c
lea ecx, [esp + 0x7c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x30]
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 + 0x4c]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0xa0]
push eax
call fcn.1003b590
mov edx, dword [esp + 0x5c]
cmp edx, 0x10
jb 0x1004c195
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c18b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c878
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], 0
cmp edx, 0x10
jb 0x1004c1e0
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c1d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c878
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0xf
mov byte [esp + 0xc], 0
cmp edx, 0x10
jb 0x1004c22b
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c221
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c878
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x80]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
cmp edx, 0x10
jb 0x1004c279
mov ecx, dword [esp + 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c26f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c878
push edx
push ecx
call fcn.10079b22
add esp, 8
sub esp, 0x50
lea ecx, [esp + 0xbc]
call fcn.10040850
add esp, 0x50
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x1004c29a
mov eax, dword [eax]
mov byte [eax], 0
mov edx, dword [esp + 0x80]
cmp edx, 0x10
jb 0x1004c2d6
mov ecx, dword [esp + 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c2cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c87d
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [esp + 0x98], 0xc3
jae 0x1004c3a1
push 0x1009d100
push 0x1009d0a0
mov edx, 0x1009d1f4
lea ecx, [esp + 0x74]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x28]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x88]
push eax
call fcn.1003b590
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1004c353
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c349
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c882
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x80]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
cmp edx, 0x10
jb 0x1004c3a1
mov ecx, dword [esp + 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c397
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c882
push edx
push ecx
call fcn.10079b22
add esp, 8
push 6
push 0x10030d4c
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0xf
call fcn.1003ae40
cmp dword [esp + 0x20], 0x10
lea ecx, [esp + 0xc]
mov edi, dword [esp + 0xc]
mov eax, 3
mov ebx, dword [esp + 0x1c]
cmovae ecx, edi
cmp ebx, eax
mov esi, ebx
mov edx, 0x10030d54
cmova esi, eax
sub esi, 4
jb 0x1004c404
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1004c409
add ecx, 4
add edx, 4
sub esi, 4
jae 0x1004c3f3
cmp esi, 0xfffffffc
je 0x1004c43d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1004c436
cmp esi, 0xfffffffd
je 0x1004c43d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1004c436
cmp esi, 0xfffffffe
je 0x1004c43d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1004c436
cmp esi, 0xffffffff
je 0x1004c43d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1004c43d
sbb eax, eax
or eax, 1
jmp 0x1004c43f
xor eax, eax
test eax, eax
jne 0x1004c458
cmp ebx, 3
jae 0x1004c44d
or eax, 0xffffffff
jmp 0x1004c458
mov eax, 3
cmp eax, ebx
sbb eax, eax
neg eax
mov dword [0x10002790], eax
mov eax, dword [esp + 0x20]
cmp eax, 0x10
jb 0x1004c491
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x1004c487
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push ecx
push edi
call fcn.10079b22
add esp, 8
cmp dword [0x1009d21c], 0x71
jae 0x1004c556
push 0x1009d188
push 0x1009d1b8
mov edx, 0x1009d1f4
lea ecx, [esp + 0x74]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x28]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d20c
push eax
call fcn.1003b590
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1004c508
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c4fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c887
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x80]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
cmp edx, 0x10
jb 0x1004c556
mov ecx, dword [esp + 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c54c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c887
push edx
push ecx
call fcn.10079b22
add esp, 8
push dword [esp + 0x84]
lea ecx, [esp + 0x64]
push dword [0x1009d168]
push dword [0x1009d164]
call fcn.10078c90
cmp dword [0x1009d12c], 0x26
jae 0x1004c6f3
push 0x1009d1f4
push 0x1009d14c
push 0x1009d0d0
push 0x1009d14c
mov edx, 0x1009d0d0
lea ecx, [esp + 0x7c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x18]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x50]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x28]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d11c
push eax
call fcn.1003b590
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x1004c60f
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c605
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c88c
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0xf
mov byte [esp + 0x24], 0
cmp edx, 0x10
jb 0x1004c65a
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c650
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c88c
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], 0
cmp edx, 0x10
jb 0x1004c6a5
mov ecx, dword [esp + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c69b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c88c
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x80]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0xf
mov byte [esp + 0xc], 0
cmp edx, 0x10
jb 0x1004c6f3
mov ecx, dword [esp + 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c6e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c88c
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x1004c769
mov edx, dword [esp + 0x40]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x48]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x40]
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 0x1004c747
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1004c7df
mov edx, dword [esp + 0x64]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x6c]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x64]
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 0x1004c7bd
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0xb4]
cmp edx, 0x10
jb 0x1004c81b
mov ecx, dword [esp + 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c811
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x9c]
cmp edx, 0x10
jb 0x1004c853
mov ecx, dword [esp + 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004c849
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004c891
push edx
push ecx
call fcn.10079b22
add esp, 8
pop edi
pop esi
mov eax, 0x14018
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
int3