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

Disassembly:
push 0xffffffffffffffff
push 0x10098341
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100b8070]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x118]
mov eax, dword [ebp + 0x28]
test eax, eax
jne 0x1004cb8f
xor edi, edi
jmp 0x1004cb97
mov edi, dword [ebp + 0x2c]
sub edi, eax
sar edi, 3
lea ebx, [esp + 0x18]
lea esi, [esp + 0x58]
mov dword [esp + 0x18], 0
call fcn.1004f290
xor ecx, ecx
mov dword [esp + 0x110], ecx
mov eax, dword [ebp + 0x28]
cmp eax, ecx
jne 0x1004cbc0
xor edi, edi
jmp 0x1004cbc8
mov edi, dword [ebp + 0x2c]
sub edi, eax
sar edi, 3
lea ebx, [esp + 0x18]
lea esi, [esp + 0x70]
mov dword [esp + 0x18], ecx
call fcn.1004f290
mov byte [esp + 0x110], 1
mov eax, dword [ebp + 0x28]
test eax, eax
jne 0x1004cbec
xor edi, edi
jmp 0x1004cbf4
mov edi, dword [ebp + 0x2c]
sub edi, eax
sar edi, 3
lea ebx, [esp + 0x18]
lea esi, [esp + 0x48]
mov dword [esp + 0x18], 0
call fcn.1004f290
mov byte [esp + 0x110], 2
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x4c]
mov ecx, ebx
xor esi, esi
sub ecx, eax
mov edi, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004cca2
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jae 0x1004cca2
test ebx, ebx
je 0x1004cc49
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004cc4e
call fcn.10080d40
mov eax, dword [esp + 0x18]
mov dword [eax + edi], 0xffffffff
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1004cc6e
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1004cc77
call fcn.10080d40
mov ecx, dword [esp + 0x74]
mov dword [ecx + esi*4], 0xffffffff
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x1004cc93
mov eax, dword [esp + 0x50]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1004cc98
call fcn.10080d40
mov dword [edi], esi
add esi, 1
add edi, 4
jmp 0x1004cc25
test ebx, ebx
je 0x1004ccb8
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp dword [esp + 0x120], eax
jb 0x1004ccbd
call fcn.10080d40
mov ecx, dword [esp + 0x120]
mov dword [ebx + ecx*4], 0
jmp 0x1004ccd0
mov edx, dword [ebp + 0x38]
mov esi, dword [edx]
mov eax, dword [ebp + 0x38]
lea edi, [ebp + 0x34]
cmp edi, edi
mov dword [esp + 0x6c], eax
je 0x1004cce8
call fcn.10080d40
cmp esi, dword [esp + 0x6c]
je 0x1004ce75
cmp esi, dword [edi + 4]
jne 0x1004ccfc
call fcn.10080d40
test ebx, ebx
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
je 0x1004cd14
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp ecx, eax
jb 0x1004cd1d
call fcn.10080d40
mov ecx, dword [esp + 0x18]
cmp dword [ebx + ecx*4], 0xffffffff
je 0x1004ce64
cmp esi, dword [edi + 4]
jne 0x1004cd31
call fcn.10080d40
test ebx, ebx
mov edi, dword [esi + 0xc]
je 0x1004cd45
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004cd4a
call fcn.10080d40
cmp dword [ebx + edi*4], 0xffffffff
je 0x1004cdb7
cmp esi, dword [ebp + 0x38]
jne 0x1004cd5a
call fcn.10080d40
test ebx, ebx
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
je 0x1004cd72
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp ecx, eax
jb 0x1004cd77
call fcn.10080d40
cmp esi, dword [ebp + 0x38]
jne 0x1004cd8b
call fcn.10080d40
cmp esi, dword [ebp + 0x38]
jne 0x1004cd8b
call fcn.10080d40
test ebx, ebx
mov edi, dword [esi + 0xc]
je 0x1004cd9f
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004cda4
call fcn.10080d40
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x18]
add ecx, dword [ebx + edx*4]
cmp ecx, dword [ebx + edi*4]
jge 0x1004ce53
cmp esi, dword [ebp + 0x38]
jne 0x1004cdcb
call fcn.10080d40
cmp esi, dword [ebp + 0x38]
jne 0x1004cdcb
call fcn.10080d40
mov ecx, dword [esp + 0x4c]
test ecx, ecx
mov edi, dword [esi + 0xc]
je 0x1004cde3
mov eax, dword [esp + 0x50]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1004cdec
call fcn.10080d40
mov ecx, dword [esp + 0x4c]
mov eax, dword [esi + 8]
mov dword [ecx + edi*4], eax
cmp esi, dword [ebp + 0x38]
jne 0x1004cdfc
call fcn.10080d40
test ebx, ebx
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
je 0x1004ce14
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp ecx, eax
jb 0x1004ce19
call fcn.10080d40
cmp esi, dword [ebp + 0x38]
jne 0x1004ce2d
call fcn.10080d40
cmp esi, dword [ebp + 0x38]
jne 0x1004ce2d
call fcn.10080d40
test ebx, ebx
mov edi, dword [esi + 0xc]
je 0x1004ce41
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004ce46
call fcn.10080d40
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x18]
add ecx, dword [ebx + edx*4]
mov dword [ebx + edi*4], ecx
cmp esi, dword [ebp + 0x38]
jne 0x1004ce6e
call fcn.10080d40
mov esi, dword [esi]
jmp 0x1004ccd5
cmp esi, dword [edi + 4]
jne 0x1004ce6e
call fcn.10080d40
mov esi, dword [esi]
jmp 0x1004ccd5
mov edi, 1
xor esi, esi
lea esp, [esp]
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004cebe
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jae 0x1004cebe
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x5c]
push ecx
call fcn.1004fdc0
add esp, 8
test al, al
jne 0x1004ceb9
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x74]
xor edi, edi
call fcn.1004ee30
add esi, 1
jmp 0x1004ce80
test edi, edi
mov ebx, dword [esp + 0x5c]
je 0x1004ccd0
or edi, 0xffffffff
mov dword [esp + 0x18], edi
xor esi, esi
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004cf4e
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jae 0x1004cf4e
test ecx, ecx
je 0x1004cef6
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1004cefb
call fcn.10080d40
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + esi*8]
cmp ecx, dword [esp + 0x124]
jne 0x1004cf49
cmp edi, 0xffffffff
je 0x1004cf43
test ebx, ebx
je 0x1004cf20
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004cf25
call fcn.10080d40
test ebx, ebx
je 0x1004cf36
mov eax, dword [esp + 0x60]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004cf3b
call fcn.10080d40
mov edx, dword [ebx + esi*4]
cmp edx, dword [ebx + edi*4]
jge 0x1004cf49
mov dword [esp + 0x18], esi
mov edi, esi
add esi, 1
jmp 0x1004ced3
mov ebx, dword [esp + 0x4c]
mov esi, edi
test ebx, ebx
je 0x1004cf65
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004cf6a
call fcn.10080d40
cmp esi, dword [ebx + esi*4]
je 0x1004d0e1
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004cf86
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1004cf8b
call fcn.10080d40
test ebx, ebx
mov eax, dword [ebp + 0x28]
lea ecx, [eax + esi*8]
mov dword [esp + 0x24], ecx
je 0x1004cfa6
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004cfab
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
mov edi, dword [ebx + esi*4]
je 0x1004cfc1
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004cfc6
call fcn.10080d40
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0x28]
mov ecx, dword [eax]
cmp ecx, dword [edx + edi*8]
jne 0x1004d0bf
test ebx, ebx
je 0x1004cfe9
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004cfee
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
mov edi, dword [ebx + esi*4]
je 0x1004d004
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004d009
call fcn.10080d40
test ebx, ebx
mov edx, dword [ebp + 0x28]
lea eax, [edx + edi*8]
mov dword [esp + 0x24], eax
je 0x1004d024
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004d029
call fcn.10080d40
test ebx, ebx
mov edi, dword [ebx + esi*4]
je 0x1004d03d
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004d042
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
mov edi, dword [ebx + edi*4]
je 0x1004d058
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004d05d
call fcn.10080d40
mov edx, dword [esp + 0x24]
mov ecx, dword [ebp + 0x28]
mov eax, dword [edx]
cmp eax, dword [ecx + edi*8]
jne 0x1004d0bf
test ebx, ebx
je 0x1004d07c
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004d081
call fcn.10080d40
test ebx, ebx
mov edi, dword [ebx + esi*4]
je 0x1004d095
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004d09a
call fcn.10080d40
test ebx, ebx
je 0x1004d0ab
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004d0b0
call fcn.10080d40
mov ecx, dword [ebx + edi*4]
mov edi, dword [esp + 0x18]
mov dword [ebx + esi*4], ecx
jmp 0x1004cf54
test ebx, ebx
je 0x1004d0d0
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp esi, eax
jb 0x1004d0d5
call fcn.10080d40
mov esi, dword [ebx + esi*4]
mov edi, dword [esp + 0x18]
jmp 0x1004cf54
test ebx, ebx
mov dword [esp + 0x28], edi
je 0x1004d0f6
mov eax, dword [esp + 0x50]
sub eax, ebx
sar eax, 2
cmp edi, eax
jb 0x1004d0fb
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
mov edx, dword [ebx + edi*4]
mov dword [esp + 0x20], edx
je 0x1004d115
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004d11a
call fcn.10080d40
mov ebx, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
lea esi, [edi*8]
add ebx, esi
test ecx, ecx
je 0x1004d139
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004d13e
call fcn.10080d40
mov ecx, dword [ebp + 8]
test ecx, ecx
mov eax, dword [ebp + 0x28]
mov esi, dword [esi + eax]
je 0x1004d157
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp esi, eax
jb 0x1004d15c
call fcn.10080d40
mov ebx, dword [ebx + 4]
shl esi, 4
add esi, dword [ebp + 8]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1004d178
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004d17d
call fcn.10080d40
shl ebx, 4
add ebx, dword [esi + 4]
mov esi, dword [esp + 0x11c]
mov eax, dword [esi + 4]
test eax, eax
jne 0x1004d195
xor edx, edx
jmp 0x1004d19d
mov edx, dword [esi + 8]
sub edx, eax
sar edx, 4
test eax, eax
je 0x1004d1d8
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 4
cmp edx, ecx
jae 0x1004d1d8
mov edx, dword [esp + 0x30]
mov edi, dword [esi + 8]
mov byte [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
push ecx
push edx
mov edx, ebx
mov ecx, 1
mov eax, edi
call fcn.100160f0
add esp, 8
add edi, 0x10
mov dword [esi + 8], edi
jmp 0x1004d1f3
mov edi, dword [esi + 8]
cmp eax, edi
jbe 0x1004d1e4
call fcn.10080d40
push edi
push esi
push ebx
lea eax, [esp + 0x74]
push eax
mov eax, esi
call fcn.10013ef0
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004d208
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d20d
call fcn.10080d40
mov edi, dword [esp + 0x28]
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
mov ebx, dword [esp + 0x20]
add edi, edi
add edi, edi
add edi, edi
add esi, edi
test ecx, ecx
mov dword [esp + 0x24], edi
je 0x1004d237
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x1004d23c
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
mov edx, dword [esi]
lea eax, [ebx*8]
cmp edx, dword [eax + ecx]
mov dword [esp + 0x40], eax
jne 0x1004e3d6
test ecx, ecx
je 0x1004d267
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d26c
call fcn.10080d40
mov eax, dword [ebp + 0x28]
mov ebx, dword [edi + eax]
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x2c], ebx
call fcn.10004a20
mov ecx, dword [ebp + 0x18]
test ecx, ecx
mov dword [esp + 0x18], eax
je 0x1004d299
mov eax, dword [ebp + 0x1c]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x1004d29e
call fcn.10080d40
mov ecx, dword [ebp + 0x18]
test byte [ecx + ebx*4], 1
je 0x1004dfb6
test ecx, ecx
je 0x1004d2bb
mov eax, dword [ebp + 0x1c]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x1004d2c0
call fcn.10080d40
mov edx, dword [ebp + 0x18]
test byte [edx + ebx*4], 2
mov ecx, dword [ebp + 0x28]
je 0x1004d71a
test ecx, ecx
je 0x1004d2e2
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d2e7
call fcn.10080d40
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
add esi, edi
test ecx, ecx
je 0x1004d301
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004d306
call fcn.10080d40
mov eax, dword [ebp + 0x28]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x40]
cmp ecx, dword [eax + edx + 4]
jle 0x1004d4c0
mov ecx, eax
test ecx, ecx
je 0x1004d32e
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d333
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004d34d
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004d352
call fcn.10080d40
mov eax, ebx
mov ebx, dword [ebp + 8]
shl eax, 4
mov esi, dword [ebx + eax + 4]
add ebx, eax
cmp esi, dword [ebx + 8]
mov dword [esp + 0x1c], eax
jbe 0x1004d36e
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
add eax, esi
cmp eax, dword [ebx + 8]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], esi
mov dword [esp + 0x24], eax
ja 0x1004d392
cmp eax, dword [ebx + 4]
jae 0x1004d397
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004d3ac
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004d3b1
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004d3cd
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004d3d2
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004d3e6
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004d3fc
cmp esi, dword [ebx + 4]
jae 0x1004d401
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004d415
call fcn.10080d40
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x30]
push eax
push ecx
push esi
push ebx
push edi
mov edi, dword [esp + 0x130]
push edi
push edx
mov ecx, edi
call fcn.10035e40
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
jbe 0x1004d446
call fcn.10080d40
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jbe 0x1004d453
call fcn.10080d40
mov eax, dword [esp + 0x18]
shl eax, 4
add ebx, eax
cmp ebx, dword [edi + 8]
ja 0x1004d466
cmp ebx, dword [edi + 4]
jae 0x1004d46b
call fcn.10080d40
cmp ebx, esi
mov eax, esi
mov ecx, ebx
jae 0x1004e463
mov edi, dword [ecx + 0xc]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, 0x10
mov dword [esp + 0xd4], edi
mov edi, dword [eax]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
mov edi, dword [eax + 0xc]
mov dword [ecx + 0xc], edi
mov dword [eax], edx
mov edx, dword [esp + 0xd4]
mov dword [eax + 4], ebx
add ecx, 0x10
cmp ecx, eax
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
jb 0x1004d477
jmp 0x1004e463
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004d4d3
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004d4d8
call fcn.10080d40
mov esi, dword [esp + 0x2c]
mov edi, dword [ebp + 8]
mov eax, esi
shl eax, 4
add edi, eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 8]
cmp dword [edi + 4], eax
mov dword [esp + 0x38], eax
jbe 0x1004d4fb
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004d510
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004d515
call fcn.10080d40
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0x28]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add eax, ecx
mov ecx, dword [ebp + 8]
test ecx, ecx
mov dword [esp + 0x40], eax
je 0x1004d53b
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp esi, eax
jb 0x1004d540
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004d554
call fcn.10080d40
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 4]
shl eax, 4
mov dword [esp + 0xc4], esi
add esi, eax
cmp esi, dword [ebx + 8]
mov dword [esp + 0xc0], ebx
ja 0x1004d578
cmp esi, dword [ebx + 4]
jae 0x1004d57d
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov ebx, dword [eax + 8]
cmp dword [eax + 4], ebx
jbe 0x1004d591
call fcn.10080d40
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x120]
push edi
push esi
push edx
push ebx
push ecx
push eax
call fcn.10035e40
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x1004d5c8
mov ecx, dword [ebp + 0x2c]
sub ecx, eax
sar ecx, 3
cmp dword [esp + 0x28], ecx
jb 0x1004d5cd
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004d5e9
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004d5ee
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004d602
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
lea edi, [eax + esi]
cmp edi, dword [ebx + 8]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], esi
ja 0x1004d623
cmp edi, dword [ebx + 4]
jae 0x1004d628
call fcn.10080d40
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004d63d
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004d642
call fcn.10080d40
mov esi, dword [ebp + 8]
add esi, dword [esp + 0x1c]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [esp + 0x38], eax
jbe 0x1004d65a
call fcn.10080d40
mov ebx, dword [esp + 0x11c]
mov eax, dword [ebx + 8]
cmp dword [ebx + 4], eax
mov dword [esp + 0x24], eax
jbe 0x1004d672
call fcn.10080d40
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
push edi
push ecx
mov ecx, dword [esp + 0x38]
push edx
push esi
push eax
push ebx
push ecx
mov ecx, ebx
call fcn.10035e40
mov esi, dword [ebx + 8]
cmp dword [ebx + 4], esi
jbe 0x1004d6a0
call fcn.10080d40
mov edi, dword [ebx + 4]
cmp edi, dword [ebx + 8]
jbe 0x1004d6ad
call fcn.10080d40
mov eax, dword [esp + 0x18]
shl eax, 4
add edi, eax
cmp edi, dword [ebx + 8]
ja 0x1004d6c0
cmp edi, dword [ebx + 4]
jae 0x1004d6c5
call fcn.10080d40
cmp edi, esi
mov eax, esi
mov ecx, edi
jae 0x1004e463
mov edi, dword [ecx + 0xc]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, 0x10
mov dword [esp + 0xf4], edi
mov edi, dword [eax]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
mov edi, dword [eax + 0xc]
mov dword [ecx + 0xc], edi
mov dword [eax], edx
mov edx, dword [esp + 0xf4]
mov dword [eax + 4], ebx
add ecx, 0x10
cmp ecx, eax
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
jb 0x1004d6d1
jmp 0x1004e463
test ecx, ecx
je 0x1004d72c
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d731
call fcn.10080d40
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
add esi, edi
test ecx, ecx
je 0x1004d74b
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004d750
call fcn.10080d40
mov eax, dword [ebp + 0x28]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x40]
cmp ecx, dword [edx + eax + 4]
mov ecx, eax
jle 0x1004db6a
test ecx, ecx
je 0x1004d778
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d77d
call fcn.10080d40
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
add esi, edi
test ecx, ecx
je 0x1004d797
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004d79c
call fcn.10080d40
mov ecx, dword [esp + 0x40]
mov eax, dword [ebp + 0x28]
mov edi, dword [esi + 4]
sub edi, dword [ecx + eax + 4]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004d7bd
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004d7c2
call fcn.10080d40
mov eax, dword [ebp + 8]
mov esi, ebx
shl esi, 4
mov ecx, dword [eax + esi + 4]
add eax, esi
test ecx, ecx
mov dword [esp + 0x1c], esi
jne 0x1004d7dc
xor eax, eax
jmp 0x1004d7e4
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 4
shr eax, 1
cmp edi, eax
jae 0x1004d98d
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004d803
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d808
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004d824
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004d829
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, esi
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004d83b
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
add eax, esi
cmp eax, dword [ebx + 8]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0x38], eax
ja 0x1004d85f
cmp eax, dword [ebx + 4]
jae 0x1004d864
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004d879
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004d87e
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004d89a
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004d89f
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004d8b3
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004d8c9
cmp esi, dword [ebx + 4]
jae 0x1004d8ce
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004d8e2
call fcn.10080d40
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
push edx
push eax
push esi
push ebx
push edi
mov edi, dword [esp + 0x130]
push edi
push ecx
mov ecx, edi
call fcn.10035e40
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
jbe 0x1004d913
call fcn.10080d40
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jbe 0x1004d920
call fcn.10080d40
mov eax, dword [esp + 0x18]
shl eax, 4
add ebx, eax
cmp ebx, dword [edi + 8]
ja 0x1004d933
cmp ebx, dword [edi + 4]
jae 0x1004d938
call fcn.10080d40
cmp ebx, esi
mov eax, esi
mov ecx, ebx
jae 0x1004e463
mov edi, dword [ecx + 0xc]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, 0x10
mov dword [esp + 0xe4], edi
mov edi, dword [eax]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
mov edi, dword [eax + 0xc]
mov dword [ecx + 0xc], edi
mov dword [eax], edx
mov edx, dword [esp + 0xe4]
mov dword [eax + 4], ebx
add ecx, 0x10
cmp ecx, eax
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
jb 0x1004d944
jmp 0x1004e463
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004d9a0
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004d9a5
call fcn.10080d40
mov eax, dword [ebp + 8]
mov ecx, dword [eax + esi + 8]
add eax, esi
cmp dword [eax + 4], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], ecx
jbe 0x1004d9c0
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004d9d5
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004d9da
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004d9f6
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004d9fb
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004da0f
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004da25
cmp esi, dword [ebx + 4]
jae 0x1004da2a
call fcn.10080d40
mov dword [esp + 0x34], esi
add esi, 0x10
cmp esi, dword [ebx + 8]
ja 0x1004da3b
cmp esi, dword [ebx + 4]
jae 0x1004da40
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004da54
call fcn.10080d40
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x124]
push esi
push ebx
push edi
push ecx
push edx
call fcn.10035e40
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x1004da88
mov ecx, dword [ebp + 0x2c]
sub ecx, eax
sar ecx, 3
cmp dword [esp + 0x20], ecx
jb 0x1004da8d
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004daa9
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004daae
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004dac2
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004dad8
cmp esi, dword [ebx + 4]
jae 0x1004dadd
call fcn.10080d40
mov dword [esp + 0xa4], esi
add esi, 0x10
cmp esi, dword [ebx + 8]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x38], esi
ja 0x1004dafc
cmp esi, dword [ebx + 4]
jae 0x1004db01
call fcn.10080d40
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004db16
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004db1b
call fcn.10080d40
mov esi, dword [ebp + 8]
add esi, dword [esp + 0x1c]
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x1004db2f
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004db43
call fcn.10080d40
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x124]
push ebx
push esi
push edi
push ecx
push edx
call fcn.10035e40
jmp 0x1004e463
test ecx, ecx
je 0x1004db7c
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004db81
call fcn.10080d40
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
add esi, dword [esp + 0x40]
test ecx, ecx
je 0x1004db9d
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004dba2
call fcn.10080d40
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 0x28]
mov edi, dword [esi + 4]
sub edi, dword [ecx + eax + 4]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004dbc3
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004dbc8
call fcn.10080d40
mov eax, dword [ebp + 8]
mov esi, ebx
shl esi, 4
mov ecx, dword [eax + esi + 4]
add eax, esi
test ecx, ecx
mov dword [esp + 0x1c], esi
jne 0x1004dbe2
xor eax, eax
jmp 0x1004dbea
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 4
shr eax, 1
cmp edi, eax
jae 0x1004ddbf
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004dc09
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004dc0e
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004dc2a
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004dc2f
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, esi
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004dc41
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004dc57
cmp esi, dword [ebx + 4]
jae 0x1004dc5c
call fcn.10080d40
mov dword [esp + 0xbc], esi
add esi, 0x10
cmp esi, dword [ebx + 8]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x38], esi
ja 0x1004dc7b
cmp esi, dword [ebx + 4]
jae 0x1004dc80
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004dc95
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004dc9a
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004dcb6
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004dcbb
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004dccf
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004dce5
cmp esi, dword [ebx + 4]
jae 0x1004dcea
call fcn.10080d40
mov dword [esp + 0x34], esi
add esi, 0x10
cmp esi, dword [ebx + 8]
ja 0x1004dcfb
cmp esi, dword [ebx + 4]
jae 0x1004dd00
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004dd14
call fcn.10080d40
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x30]
push edx
push eax
push esi
push ebx
push edi
mov edi, dword [esp + 0x130]
push edi
push ecx
mov ecx, edi
call fcn.10035e40
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
jbe 0x1004dd45
call fcn.10080d40
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jbe 0x1004dd52
call fcn.10080d40
mov eax, dword [esp + 0x18]
shl eax, 4
add ebx, eax
cmp ebx, dword [edi + 8]
ja 0x1004dd65
cmp ebx, dword [edi + 4]
jae 0x1004dd6a
call fcn.10080d40
cmp ebx, esi
mov eax, esi
mov ecx, ebx
jae 0x1004e463
mov edi, dword [ecx + 0xc]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov esi, dword [ecx + 8]
sub eax, 0x10
mov dword [esp + 0x104], edi
mov edi, dword [eax]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [eax + 8]
mov dword [ecx + 8], edi
mov edi, dword [eax + 0xc]
mov dword [ecx + 0xc], edi
mov dword [eax], edx
mov edx, dword [esp + 0x104]
mov dword [eax + 4], ebx
add ecx, 0x10
cmp ecx, eax
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
jb 0x1004dd76
jmp 0x1004e463
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004ddd2
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004ddd7
call fcn.10080d40
mov eax, dword [ebp + 8]
mov ecx, dword [eax + esi + 8]
add eax, esi
cmp dword [eax + 4], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
jbe 0x1004ddf2
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004de07
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004de0c
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004de28
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004de2d
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004de41
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x44], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004de57
cmp esi, dword [ebx + 4]
jae 0x1004de5c
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004de70
call fcn.10080d40
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x124]
push esi
push ebx
push edi
push ecx
push edx
call fcn.10035e40
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x1004dea4
mov ecx, dword [ebp + 0x2c]
sub ecx, eax
sar ecx, 3
cmp dword [esp + 0x28], ecx
jb 0x1004dea9
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004dec5
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004deca
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004dede
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
lea edi, [eax + esi]
cmp edi, dword [ebx + 8]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], esi
ja 0x1004deff
cmp edi, dword [ebx + 4]
jae 0x1004df04
call fcn.10080d40
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x1004df19
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004df1e
call fcn.10080d40
mov esi, dword [ebp + 8]
add esi, dword [esp + 0x1c]
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x1004df32
call fcn.10080d40
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + 8]
cmp dword [ecx + 4], eax
mov dword [esp + 0x30], eax
jbe 0x1004df4e
call fcn.10080d40
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x30]
push edi
push ecx
push ebx
push esi
mov esi, dword [esp + 0x12c]
push eax
push esi
push edx
mov ecx, esi
call fcn.10035e40
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x1004df7b
call fcn.10080d40
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x1004df88
call fcn.10080d40
mov eax, dword [esp + 0x18]
shl eax, 4
add ebx, eax
cmp ebx, dword [esi + 8]
ja 0x1004df9b
cmp ebx, dword [esi + 4]
jae 0x1004dfa0
call fcn.10080d40
mov eax, dword [esp + 0x30]
push eax
mov eax, edi
mov ecx, ebx
call fcn.100160a0
add esp, 4
jmp 0x1004e463
test ecx, ecx
je 0x1004dfc6
mov eax, dword [ebp + 0x1c]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x1004dfcb
call fcn.10080d40
mov ecx, dword [ebp + 0x18]
test byte [ecx + ebx*4], 2
mov ecx, dword [ebp + 0x28]
je 0x1004e0e4
test ecx, ecx
je 0x1004dfed
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004dff2
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004e00c
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004e011
call fcn.10080d40
mov eax, ebx
mov ebx, dword [ebp + 8]
shl eax, 4
mov esi, dword [ebx + eax + 4]
add ebx, eax
cmp esi, dword [ebx + 8]
mov dword [esp + 0x1c], eax
jbe 0x1004e02d
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
add eax, esi
cmp eax, dword [ebx + 8]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], esi
mov dword [esp + 0x30], eax
ja 0x1004e051
cmp eax, dword [ebx + 4]
jae 0x1004e056
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004e06b
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004e070
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004e08c
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004e091
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004e0a5
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x3c], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004e0bb
cmp esi, dword [ebx + 4]
jae 0x1004e0c0
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004e0d4
call fcn.10080d40
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0xb0]
jmp 0x1004e232
test ecx, ecx
je 0x1004e0f6
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004e0fb
call fcn.10080d40
mov esi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
add esi, dword [esp + 0x40]
test ecx, ecx
je 0x1004e117
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004e11c
call fcn.10080d40
mov eax, dword [ebp + 0x28]
mov ecx, dword [esi + 4]
cmp ecx, dword [edi + eax + 4]
mov ecx, eax
jge 0x1004e293
test ecx, ecx
je 0x1004e140
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004e145
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004e15f
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004e164
call fcn.10080d40
mov eax, ebx
mov ebx, dword [ebp + 8]
shl eax, 4
mov esi, dword [ebx + eax + 4]
add ebx, eax
cmp esi, dword [ebx + 8]
mov dword [esp + 0x1c], eax
jbe 0x1004e180
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
add eax, esi
cmp eax, dword [ebx + 8]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], esi
mov dword [esp + 0x30], eax
ja 0x1004e1a4
cmp eax, dword [ebx + 4]
jae 0x1004e1a9
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004e1be
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004e1c3
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004e1df
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004e1e4
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004e1f8
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x3c], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004e20e
cmp esi, dword [ebx + 4]
jae 0x1004e213
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004e227
call fcn.10080d40
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x30]
push edx
push eax
push esi
mov esi, dword [esp + 0x128]
push ebx
push edi
push esi
push ecx
mov ecx, esi
call fcn.10035e40
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x1004e258
call fcn.10080d40
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x1004e265
call fcn.10080d40
mov eax, dword [esp + 0x18]
shl eax, 4
add ebx, eax
cmp ebx, dword [esi + 8]
ja 0x1004e278
cmp ebx, dword [esi + 4]
jae 0x1004e27d
call fcn.10080d40
mov edx, dword [esp + 0x30]
push edx
mov eax, edi
mov ecx, ebx
call fcn.100160a0
add esp, 4
jmp 0x1004e463
test ecx, ecx
je 0x1004e2a5
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004e2aa
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x40]
test ecx, ecx
je 0x1004e2c4
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004e2c9
call fcn.10080d40
mov eax, ebx
mov ebx, dword [ebp + 8]
shl eax, 4
mov esi, dword [ebx + eax + 4]
add ebx, eax
cmp esi, dword [ebx + 8]
mov dword [esp + 0x1c], eax
jbe 0x1004e2e5
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x34], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004e2fb
cmp esi, dword [ebx + 4]
jae 0x1004e300
call fcn.10080d40
mov dword [esp + 0x6c], esi
add esi, 0x10
cmp esi, dword [ebx + 8]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x30], esi
ja 0x1004e319
cmp esi, dword [ebx + 4]
jae 0x1004e31e
call fcn.10080d40
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x1004e333
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x28], eax
jb 0x1004e338
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 8]
add edi, dword [esp + 0x24]
test ecx, ecx
je 0x1004e354
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x2c], eax
jb 0x1004e359
call fcn.10080d40
mov ebx, dword [ebp + 8]
add ebx, dword [esp + 0x1c]
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 8]
jbe 0x1004e36d
call fcn.10080d40
mov eax, dword [edi + 4]
shl eax, 4
mov dword [esp + 0x3c], esi
add esi, eax
cmp esi, dword [ebx + 8]
ja 0x1004e383
cmp esi, dword [ebx + 4]
jae 0x1004e388
call fcn.10080d40
mov dword [esp + 0x3c], esi
add esi, 0x10
cmp esi, dword [ebx + 8]
ja 0x1004e399
cmp esi, dword [ebx + 4]
jae 0x1004e39e
call fcn.10080d40
mov eax, dword [esp + 0x11c]
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
jbe 0x1004e3b2
call fcn.10080d40
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x124]
push esi
push ebx
push edi
push ecx
push edx
call fcn.10035e40
jmp 0x1004e463
test ecx, ecx
je 0x1004e3e6
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x1004e3eb
call fcn.10080d40
mov edi, dword [ebp + 0x28]
mov esi, dword [esp + 0x40]
mov ecx, dword [ebp + 0x28]
add edi, esi
test ecx, ecx
je 0x1004e409
mov eax, dword [ebp + 0x2c]
sub eax, ecx
sar eax, 3
cmp dword [esp + 0x20], eax
jb 0x1004e40e
call fcn.10080d40
mov ecx, dword [ebp + 8]
test ecx, ecx
mov eax, dword [ebp + 0x28]
mov ebx, dword [esi + eax]
je 0x1004e427
mov eax, dword [ebp + 0xc]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x1004e42c
call fcn.10080d40
mov edi, dword [edi + 4]
shl ebx, 4
add ebx, dword [ebp + 8]
mov esi, ebx
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x1004e44a
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp edi, eax
jb 0x1004e44f
call fcn.10080d40
mov ebx, edi
shl ebx, 4
add ebx, dword [esi + 4]
mov esi, dword [esp + 0x11c]
call fcn.100137c0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x4c]
test esi, esi
mov ebx, edi
mov dword [esp + 0x28], ebx
je 0x1004e482
mov eax, dword [esp + 0x50]
sub eax, esi
sar eax, 2
cmp edi, eax
jb 0x1004e487
call fcn.10080d40
mov edi, dword [esi + edi*4]
cmp ebx, edi
mov dword [esp + 0x20], edi
jne 0x1004d1f3
test esi, esi
je 0x1004e4a3
push esi
call fcn.10080a47
add esp, 4
mov eax, dword [esp + 0x74]
test eax, eax
je 0x1004e4b4
push eax
call fcn.10080a47
add esp, 4
mov eax, dword [esp + 0x5c]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
je 0x1004e4d3
push eax
call fcn.10080a47
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret 0x10