Function at 0x479d80
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x5cdef1
mov eax, dword fs:[0]
push eax
sub esp, 0x198
mov eax, dword [0x680f10]
xor eax, esp
mov dword [esp + 0x194], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0x1ac]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1bc]
mov ebp, ecx
mov ecx, dword [esp + 0x1c0]
mov dword [esp + 0x54], ecx
push 0x5f09b0
lea ecx, [esp + 0x6c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], eax
call fcn.0048cd50
lea edx, [esp + 0x68]
lea ecx, [ebp + 0x14]
push edx
mov dword [esp + 0x1b8], 0
call fcn.004b7af0
cmp dword [esp + 0x84], 0x10
mov esi, eax
mov dword [esp + 0x1b4], 0xffffffff
mov dword [esp + 0x68], 0x5f1558
jb 0x479e29
mov eax, dword [esp + 0x70]
push eax
call fcn.004274fc
add esp, 4
xor edi, edi
cmp esi, edi
mov ecx, ebp
setne byte [esp + 0x1b]
call fcn.00476410
mov esi, 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x1c], esi
call fcn.0049fcb0
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov byte [esp + 0x1b4], 2
mov dword [esp + 0x58], edi
xor ebx, ebx
mov esi, dword [ebp + 0x200]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x479ec7
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp edi, eax
jae 0x479ec7
test ecx, ecx
je 0x479e9c
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp edi, eax
jb 0x479ea1
call fcn.0044b7ad
mov esi, dword [esi + 4]
add esi, ebx
mov ecx, esi
call fcn.004b5650
test al, al
je 0x479ebf
mov eax, dword [esp + 0x1c]
add eax, 1
mov dword [esp + 0x1c], eax
mov dword [esi + 4], eax
add edi, 1
add ebx, 0x10
jmp 0x479e73
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov esi, dword [edi + 0x200]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x47a055
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp ebp, eax
jae 0x47a055
test ecx, ecx
je 0x479f06
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp ebp, eax
jb 0x479f0b
call fcn.0044b7ad
mov esi, dword [esi + 4]
add esi, dword [esp + 0x24]
mov ecx, esi
call fcn.004b55c0
test al, al
je 0x47a048
mov ecx, esi
call fcn.004b5620
test al, al
jne 0x47a048
mov ecx, esi
call fcn.004b5650
test al, al
jne 0x47a048
mov ecx, dword [edi + 0x1f4]
test ecx, ecx
je 0x479f58
mov eax, dword [edi + 0x1f8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jb 0x479f5d
call fcn.0044b7ad
mov ecx, dword [edi + 0x1f4]
mov ecx, dword [ecx + ebp*4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 6
je 0x479f89
add ebx, 1
add ebp, 1
add dword [esp + 0x24], 0x10
mov dword [esp + 0x1c], ebx
mov dword [esi + 4], ebx
jmp 0x479ed5
mov ecx, dword [edi + 0x1f4]
test ecx, ecx
je 0x479fa2
mov eax, dword [edi + 0x1f8]
sub eax, ecx
sar eax, 2
cmp ebp, eax
jb 0x479fa7
call fcn.0044b7ad
mov ecx, dword [edi + 0x1f4]
mov ecx, dword [ecx + ebp*4]
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x50], ecx
call fcn.004d8ec0
xor esi, esi
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x479ffe
mov eax, dword [esp + 0x30]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x479ffe
mov ecx, dword [ecx + esi*4]
lea eax, [esp + 0x68]
push eax
lea edx, [esp + 0x8c]
push edx
add esi, 1
call fcn.004d8ec0
push eax
call fcn.004a0020
add esp, 8
test eax, eax
jle 0x479fc0
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x30]
mov edi, ecx
jbe 0x47a00f
call fcn.0044b7ad
mov ecx, dword [esp + 0x2c]
lea esi, [edi + esi*4]
cmp esi, dword [esp + 0x30]
lea eax, [esp + 0x28]
mov ebx, eax
mov dword [esp + 0x64], edi
ja 0x47a026
cmp esi, ecx
jae 0x47a02b
call fcn.0044b7ad
lea eax, [esp + 0x4c]
push eax
push esi
push ebx
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x38]
call fcn.004ec8d0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
add ebp, 1
add dword [esp + 0x24], 0x10
jmp 0x479ed5
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x47a098
mov eax, dword [esp + 0x30]
mov edx, eax
sub edx, esi
sar edx, 2
je 0x47a098
cmp byte [edi + 0x93], 0
jne 0x47a098
cmp esi, eax
jbe 0x47a07c
call fcn.0044b7ad
cmp esi, dword [esp + 0x30]
jb 0x47a087
call fcn.0044b7ad
mov ecx, dword [esi]
mov dword [esp + 0x58], ecx
add ebx, 1
call fcn.004b5930
mov dword [eax + 4], ebx
mov esi, dword [esp + 0x2c]
add ebx, 1
cmp esi, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x60], ebx
jbe 0x47a0b2
call fcn.0044b7ad
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x28]
mov ebx, eax
lea esp, [esp]
mov edi, dword [esp + 0x30]
cmp dword [esp + 0x2c], edi
jbe 0x47a0cf
call fcn.0044b7ad
test ebx, ebx
je 0x47a0db
lea eax, [esp + 0x28]
cmp ebx, eax
je 0x47a0e0
call fcn.0044b7ad
cmp esi, edi
je 0x47a128
test ebx, ebx
jne 0x47a0ed
call fcn.0044b7ad
cmp esi, dword [ebx + 8]
jb 0x47a0f7
call fcn.0044b7ad
mov ecx, dword [esp + 0x58]
cmp ecx, dword [esi]
je 0x47a119
cmp esi, dword [ebx + 8]
jb 0x47a109
call fcn.0044b7ad
mov ecx, dword [esi]
add ebp, 1
call fcn.004b5930
mov dword [eax + 4], ebp
add ebp, 1
cmp esi, dword [ebx + 8]
jb 0x47a123
call fcn.0044b7ad
add esi, 4
jmp 0x47a0c0
lea ecx, [esp + 0xc4]
call fcn.0049fcb0
mov ebp, dword [esp + 0x14]
xor edi, edi
mov byte [esp + 0x1b4], 3
lea ebx, [edi + 2]
mov dword [esp + 0x24], edi
lea esp, [esp]
mov esi, dword [ebp + 0x200]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x47a209
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp edi, eax
jae 0x47a209
test ecx, ecx
je 0x47a181
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 4
cmp edi, eax
jb 0x47a186
call fcn.0044b7ad
mov esi, dword [esi + 4]
add esi, dword [esp + 0x24]
mov ecx, esi
call fcn.004b5650
test al, al
je 0x47a1fc
lea ecx, [esp + 0xa8]
call fcn.0049f9c0
push eax
push ebx
lea edx, [esp + 0xcc]
push str._u__u
push edx
call fcn.004a0550
mov ecx, dword [ebp + 0x1f4]
add esp, 0x10
add ebx, 1
test ecx, ecx
je 0x47a1d7
mov eax, dword [ebp + 0x1f8]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x47a1dc
call fcn.0044b7ad
mov eax, dword [ebp + 0x1f4]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
push 0
push 0
push 0
push 0
lea eax, [esp + 0xb8]
push eax
call edx
add edi, 1
add dword [esp + 0x24], 0x10
jmp 0x47a150
lea ecx, [esp + 0xc4]
call fcn.0049f9c0
xor ebx, ebx
push ebx
lea ecx, [esp + 0xac]
mov dword [esp + 0x28], eax
call fcn.0049fa80
push eax
lea ecx, [esp + 0xb0]
call fcn.0049f8a0
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.0049f930
push ebx
lea ecx, [esp + 0xac]
call fcn.0049f900
lea ecx, [esp + 0xc4]
call fcn.0049f8a0
lea ecx, [esp + 0xc4]
mov edi, eax
call fcn.0049fa80
cmp edi, ebx
mov dword [esp + 0x38], eax
je 0x47a34c
push 0x5f09c0
lea ecx, [esp + 0x8c]
call fcn.0048cd50
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x3c]
push edx
push edi
mov byte [esp + 0x1c0], 4
call fcn.004cdf70
add esp, 0xc
cmp dword [esp + 0xa4], 0x10
mov edi, eax
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x88], 0x5f1558
jb 0x47a2d4
mov eax, dword [esp + 0x90]
push eax
call fcn.004274fc
add esp, 4
cmp edi, ebx
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], 0
mov dword [esp + 0x88], 0x5f13d0
je 0x47a34c
cmp byte [esp + 0x1b], 0
je 0x47a34c
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x180]
lea ecx, [esp + 0x3c]
push ecx
push edx
push edi
push ebx
push 1
push eax
lea ecx, [ebp + 0x7a8]
push ecx
mov ecx, ebp
mov dword [esp + 0x58], ebx
call fcn.004733c0
push eax
mov ecx, ebp
call fcn.00464f80
mov esi, eax
cmp esi, ebx
je 0x47a34c
push edi
call fcn.004274fc
mov edx, dword [esp + 0x40]
add esp, 4
mov edi, esi
mov dword [esp + 0x38], edx
push 0
lea ecx, [esp + 0xc8]
call fcn.0049f900
mov ebp, dword [esp + 0x20]
mov eax, dword [ebp]
mov edx, dword [eax + 0x10]
mov ecx, ebp
call edx
push 0
push 8
lea esi, [ebp + 4]
mov dword [esp + 0x54], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push str.1_0_obj_n
push esi
call ecx
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push 0
push 2
push 0x5f09d8
push esi
call eax
push 0x5f09dc
lea ecx, [esp + 0x6c]
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 5
call eax
cmp dword [esp + 0x84], 0x10
mov dword [esp + 0x68], 0x5f1558
jb 0x47a3d0
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [esp + 0x38]
fild dword [esp + 0x38]
test edx, edx
jge 0x47a3e2
fadd qword [0x659f10]
mov ebx, 0x5f14a0
fstp qword [esp + 0x44]
mov dword [esp + 0x3c], ebx
push ebp
lea ecx, [esp + 0x40]
mov byte [esp + 0x1b8], 6
call dword [0x5f14a8]
push 0x5f09e4
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1b8], 3
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 7
call eax
cmp dword [esp + 0x84], 0x10
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x68], 0x5f1558
jb 0x47a451
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
push 0x5f09ec
lea ecx, [esp + 0x6c]
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 8
call eax
cmp dword [esp + 0x84], 0x10
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x68], 0x5f1558
jb 0x47a498
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
push 0x5f09f8
lea ecx, [esp + 0x6c]
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 9
call eax
cmp dword [esp + 0x84], 0x10
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x68], 0x5f1558
jb 0x47a4df
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
push 0x5f0a00
lea ecx, [esp + 0x6c]
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 0xa
call eax
cmp dword [esp + 0x84], 0x10
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x68], 0x5f1558
jb 0x47a526
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
push 0x5f0a08
lea ecx, [esp + 0x6c]
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 0xb
call eax
cmp dword [esp + 0x84], 0x10
mov dword [esp + 0x68], 0x5f1558
jb 0x47a565
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [esp + 0x5c]
fild dword [esp + 0x5c]
test edx, edx
jge 0x47a577
fadd qword [0x659f10]
fstp qword [esp + 0x44]
mov dword [esp + 0x3c], ebx
push ebp
lea ecx, [esp + 0x40]
mov byte [esp + 0x1b8], 0xc
call dword [0x5f14a8]
push 0x5f0a0c
lea ecx, [esp + 0x6c]
mov byte [esp + 0x1b8], 3
call fcn.0048cd50
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push ebp
mov byte [esp + 0x1b8], 0xd
call eax
cmp dword [esp + 0x84], 0x10
mov dword [esp + 0x68], 0x5f1558
jb 0x47a5d9
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
mov edx, dword [esp + 0x24]
fild dword [esp + 0x24]
test edx, edx
jge 0x47a5eb
fadd qword [0x659f10]
fstp qword [esp + 0x44]
mov dword [esp + 0x3c], ebx
push ebp
lea ecx, [esp + 0x40]
mov byte [esp + 0x1b8], 0xe
call dword [0x5f14a8]
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push 0
push 2
push 0x5f0a14
push esi
mov byte [esp + 0x1c4], 3
call ecx
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push 0
push 8
push 0x5f0a18
push esi
call eax
test edi, edi
je 0x47a644
mov edx, dword [esp + 0x38]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x10]
push 0
push edx
push edi
push esi
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
push 0
push 0xb
push 0x5f0a24
push esi
call edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push 0
push 8
push 0x5f0a30
push esi
call ecx
test edi, edi
je 0x47a673
push edi
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x5c]
test eax, eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
je 0x47a68c
add eax, 0xffffffff
mov dword [esp + 0x3c], eax
jmp 0x47a694
mov dword [esp + 0x3c], 0
xor ebx, ebx
mov dword [esp + 0x24], ebx
lea ebx, [ebx]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x200]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x47a8c2
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jae 0x47a8c2
test ecx, ecx
je 0x47a6d5
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x47a6da
call fcn.0044b7ad
mov edi, dword [edi + 4]
add edi, dword [esp + 0x24]
mov ecx, edi
call fcn.004b55c0
test al, al
je 0x47a8b5
mov ecx, edi
call fcn.004b5620
test al, al
jne 0x47a8b5
mov ecx, edi
call fcn.004b5650
test al, al
jne 0x47a8b5
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1f4]
test ecx, ecx
je 0x47a72b
mov eax, dword [eax + 0x1f8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x47a730
call fcn.0044b7ad
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x1f4]
mov ecx, dword [edx + ebx*4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 6
mov edx, dword [esp + 0x14]
jne 0x47a782
mov ecx, dword [edx + 0x1f4]
test ecx, ecx
je 0x47a766
mov eax, dword [edx + 0x1f8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x47a76f
call fcn.0044b7ad
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x1f4]
mov ecx, dword [esp + 0x58]
cmp ecx, dword [eax + ebx*4]
jne 0x47a8b5
cmp dword [esp + 0x54], 0
je 0x47a7ea
mov eax, dword [edx + 0x200]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x47a79a
xor eax, eax
jmp 0x47a7a2
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 4
mov edx, dword [esp + 0x54]
mov edx, dword [edx]
mov ecx, ebx
test ecx, ecx
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
jge 0x47a7bc
fadd qword [0x659f10]
test eax, eax
fmul qword [0x5f20e0]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x47a7d4
fadd qword [0x659f10]
fdivp st(1)
mov ecx, dword [esp + 0x54]
mov edx, dword [edx]
sub esp, 8
fadd qword [0x659f50]
fstp qword [esp]
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x10]
mov ecx, ebp
call edx
mov ecx, dword [edi + 4]
mov dword [edi + 0xc], eax
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 8]
push eax
push ecx
lea edx, [esp + 0x14c]
push 0x5f0a3c
push edx
call fcn.005b8727
lea eax, [esp + 0x154]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47a822
mov ecx, dword [esi]
sub eax, edx
push 0
push eax
mov eax, dword [ecx + 0x10]
lea edx, [esp + 0x14c]
push edx
push esi
call eax
cmp byte [esp + 0x1b], 0
mov eax, dword [esp + 0x14]
je 0x47a853
lea ebp, [eax + 0x7a8]
jmp 0x47a855
xor ebp, ebp
mov ecx, dword [eax + 0x1f4]
test ecx, ecx
je 0x47a86e
mov eax, dword [eax + 0x1f8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x47a873
call fcn.0044b7ad
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x1f4]
mov ecx, dword [edx + ebx*4]
mov edx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
push edx
mov edx, dword [edi + 4]
push edx
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + 0x180]
push edx
mov edx, dword [esp + 0x2c]
push ebp
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
push 0
push 8
push 0x5f0a4c
push esi
call edx
mov ebp, dword [esp + 0x20]
add ebx, 1
add dword [esp + 0x24], 0x10
jmp 0x47a6a0
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffff
jbe 0x47a8d7
mov dword [esp + 0x1c], 4
jmp 0x47a8fa
cmp eax, 0xffff
jbe 0x47a8e8
mov dword [esp + 0x1c], 3
jmp 0x47a8fa
mov ecx, 0xff
cmp ecx, eax
sbb eax, eax
neg eax
add eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffff
jbe 0x47a90c
mov ebp, 4
jmp 0x47a92a
cmp eax, 0xffff
jbe 0x47a91a
mov ebp, 3
jmp 0x47a92a
mov edx, 0xff
cmp edx, dword [esp + 0x3c]
sbb ebp, ebp
neg ebp
add ebp, 1
mov ebx, dword [esp + 0x1c]
push 0
push 0
push 0
push ebp
lea eax, [esp + 0xb8]
push ebx
push eax
mov dword [esp + 0x6c], ebp
call fcn.00464d60
mov ecx, dword [esp + 0x64]
push 0
push ecx
push 1
push ebp
lea edx, [esp + 0xd0]
push ebx
push edx
call fcn.00464d60
xor edi, edi
add esp, 0x30
cmp dword [esp + 0x5c], edi
jbe 0x47a990
lea ebx, [ebx]
push edi
push 1
push 2
push ebp
lea eax, [esp + 0xb8]
push ebx
push eax
call fcn.00464d60
add edi, 1
add esp, 0x18
cmp edi, dword [esp + 0x5c]
jb 0x47a970
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
lea ebx, [ebx]
mov eax, dword [edi + 0x200]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x47aa6d
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jae 0x47aa6d
mov ecx, dword [edi + 0x1f4]
test ecx, ecx
je 0x47a9da
mov eax, dword [edi + 0x1f8]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jb 0x47a9df
call fcn.0044b7ad
mov ecx, dword [edi + 0x1f4]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 6
je 0x47aa60
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + 0x200]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x47aa11
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 4
cmp ebx, eax
jb 0x47aa16
call fcn.0044b7ad
mov edi, dword [edi + 4]
add edi, dword [esp + 0x3c]
mov ecx, edi
call fcn.004b55c0
test al, al
je 0x47aa5c
mov ecx, edi
call fcn.004b5620
test al, al
jne 0x47aa5c
mov ecx, edi
call fcn.004b5650
test al, al
jne 0x47aa5c
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x1c]
push 0
push edx
push 1
push ebp
push eax
lea ecx, [esp + 0xbc]
push ecx
call fcn.00464d60
add esp, 0x18
mov edi, dword [esp + 0x14]
add ebx, 1
add dword [esp + 0x3c], 0x10
jmp 0x47a9a0
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x47aa98
push 0
call fcn.004b5930
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x20]
push edx
push 1
push ebp
push eax
lea ecx, [esp + 0xbc]
push ecx
call fcn.00464d60
add esp, 0x18
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
push 0
push edx
push 1
push ebp
push eax
lea ecx, [esp + 0xbc]
push ecx
call fcn.00464d60
add esp, 0x18
lea ecx, [esp + 0xa8]
call fcn.0049f8a0
lea ecx, [esp + 0xa8]
mov edi, eax
call fcn.0049fa80
test edi, edi
mov dword [esp + 0x38], eax
je 0x47ab64
push 0x5f0a58
lea ecx, [esp + 0x8c]
call fcn.0048cd50
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0x3c]
push eax
push edi
mov byte [esp + 0x1c0], 0xf
call fcn.004cdf70
add esp, 0xc
cmp dword [esp + 0xa4], 0x10
mov edi, eax
mov byte [esp + 0x1b4], 3
mov dword [esp + 0x88], 0x5f1558
jb 0x47ab3b
mov ecx, dword [esp + 0x90]
push ecx
call fcn.004274fc
add esp, 4
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
mov dword [esp + 0x88], 0x5f13d0
push 0
lea ecx, [esp + 0xac]
call fcn.0049f900
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [esp + 0x60]
push ecx
lea edx, [esp + 0xe4]
push 0x5f0a64
push edx
mov ebx, eax
call fcn.005b8727
lea eax, [esp + 0xec]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47aba3
mov ecx, dword [esi]
sub eax, edx
push 0
push eax
mov eax, dword [ecx + 0x10]
lea edx, [esp + 0xe8]
push edx
push esi
call eax
mov eax, dword [esp + 0x60]
add eax, 1
cmp byte [esp + 0x1b], 0
mov dword [esp + 0x60], eax
je 0x47abdf
mov ecx, dword [esp + 0x14]
add ecx, 0x7a8
jmp 0x47abe1
xor ecx, ecx
mov edx, dword [esp + 0x1c]
push eax
push 0
push 0
push ebp
push edx
push 1
push eax
mov eax, dword [esp + 0x54]
push 1
push eax
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x180]
push edx
push ecx
add eax, 0x14
push eax
mov eax, dword [esp + 0x50]
push eax
call fcn.0046e960
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
add esp, 0x34
push 0
push 8
push 0x5f0a70
push esi
call edx
test edi, edi
je 0x47ac38
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
push 0
push ecx
push edi
push esi
call edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push 0
push 0xb
push 0x5f0a7c
push esi
call ecx
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push 0
push 8
push 0x5f0a88
push esi
call eax
test edi, edi
je 0x47ac67
push edi
call fcn.004274fc
add esp, 4
mov ecx, dword [esp + 0x20]
push ebx
push 0x5f0a94
push ecx
call fcn.004a0550
mov ebp, dword [esp + 0x64]
add esp, 0xc
test ebp, ebp
je 0x47ace9
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x2c], ecx
mov edi, ecx
jbe 0x47ac97
call fcn.0044b7ad
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x28]
mov dword [esp + 0x4c], eax
lea eax, [edi - 4]
cmp eax, ecx
mov dword [esp + 0x50], edi
ja 0x47acb0
cmp eax, dword [esp + 0x2c]
jae 0x47acb5
call fcn.0044b7ad
mov edx, dword [esp + 0x4c]
add edi, 0xfffffffc
cmp edi, dword [edx + 8]
jb 0x47acc6
call fcn.0044b7ad
cmp ebp, dword [edi]
mov ecx, dword [esp + 0x20]
sete al
push eax
push ecx
mov ecx, ebp
call fcn.004d92b0
mov edx, dword [esi]
xor ecx, ecx
push ecx
push 2
xor eax, eax
push ecx
push eax
mov eax, dword [edx + 0x14]
push esi
call eax
mov edi, dword [esp + 0x2c]
cmp edi, dword [esp + 0x30]
jbe 0x47acf8
call fcn.0044b7ad
lea eax, [esp + 0x28]
mov ebp, eax
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x2c], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x4c], eax
jbe 0x47ad19
call fcn.0044b7ad
test ebp, ebp
je 0x47ad25
lea ecx, [esp + 0x28]
cmp ebp, ecx
je 0x47ad2a
call fcn.0044b7ad
cmp edi, dword [esp + 0x4c]
je 0x47b011
test ebp, ebp
jne 0x47ad3d
call fcn.0044b7ad
cmp edi, dword [ebp + 8]
jb 0x47ad47
call fcn.0044b7ad
mov edx, dword [esp + 0x58]
cmp edx, dword [edi]
je 0x47afff
cmp edi, dword [ebp + 8]
jb 0x47ad5d
call fcn.0044b7ad
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
call fcn.004b5930
mov edi, dword [esp + 0x20]
mov edx, dword [edi]
mov ebp, eax
mov eax, dword [edx + 0x10]
mov ecx, edi
call eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
push ecx
push edx
push 0x5f0aac
push edi
mov dword [ebp + 0xc], eax
call fcn.004a0550
add esp, 0x10
cmp byte [esp + 0x1b], 0
je 0x47ada6
mov eax, dword [esp + 0x14]
add eax, 0x7a8
mov dword [esp + 0x4c], eax
jmp 0x47adae
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
cmp edx, dword [ecx + 8]
jb 0x47adc0
call fcn.0044b7ad
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
call fcn.004b55a0
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x1f4]
test ecx, ecx
mov edi, eax
je 0x47adee
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x1f8]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x47adf3
call fcn.0044b7ad
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1f4]
mov ecx, dword [ecx + edi*4]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 0x180]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
push edi
mov edi, dword [ebp + 4]
push edi
push eax
mov eax, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x30]
push eax
call edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push 0
push 8
push 0x5f0abc
push esi
call ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x4c], ebx
call eax
mov ebx, eax
cmp ebx, 0xffffff
jbe 0x47ae51
mov edi, 4
jmp 0x47ae6e
cmp ebx, 0xffff
jbe 0x47ae60
mov edi, 3
jmp 0x47ae6e
mov ecx, 0xff
cmp ecx, ebx
sbb edi, edi
neg edi
add edi, 1
mov edx, dword [ebp + 4]
add edx, 1
push edx
lea eax, [esp + 0xe4]
push 0x5f0ac8
push eax
call fcn.005b8727
lea eax, [esp + 0xec]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x47ae94
mov ecx, dword [esi]
sub eax, edx
push 0
push eax
mov eax, dword [ecx + 0x10]
lea edx, [esp + 0xe8]
push edx
push esi
call eax
add dword [esp + 0x60], 2
cmp byte [esp + 0x1b], 0
je 0x47aec9
mov eax, dword [esp + 0x14]
add eax, 0x7a8
jmp 0x47aecb
xor eax, eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x4c]
push 2
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x6c]
push ecx
push edi
push 1
push edx
push 0
add ecx, edi
lea ecx, [ecx + ecx + 2]
push ecx
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x180]
push edx
push eax
lea eax, [ecx + 0x14]
push eax
mov eax, dword [esp + 0x50]
push eax
call fcn.0046e960
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
add esp, 0x34
push 0
push 8
push 0x5f0ad4
push esi
call edx
mov eax, dword [ebp + 0xc]
mov ebp, dword [esp + 0x20]
push 0
push eax
push 1
push 1
push edi
push ebp
call fcn.00464d60
push 0
push ebx
push 1
push 1
push edi
push ebp
call fcn.00464d60
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
add esp, 0x30
push 0
push 0xb
push 0x5f0ae0
push esi
call edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
push 0
push 8
push 0x5f0aec
push esi
call ecx
push ebx
push str.startxref_n_lu_n____EOF_n
push ebp
call fcn.004a0550
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
add esp, 0xc
cmp edx, dword [eax + 8]
jb 0x47af83
call fcn.0044b7ad
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x2c], ecx
mov ebp, ecx
jbe 0x47af98
call fcn.0044b7ad
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x28]
mov edi, eax
lea eax, [ebp - 4]
cmp eax, ecx
mov dword [esp + 0x50], ebp
ja 0x47afaf
cmp eax, dword [esp + 0x2c]
jae 0x47afb4
call fcn.0044b7ad
add ebp, 0xfffffffc
cmp ebp, dword [edi + 8]
jb 0x47afc1
call fcn.0044b7ad
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
cmp edi, dword [ecx + 8]
jb 0x47afd3
call fcn.0044b7ad
mov ecx, dword [edi]
cmp ecx, dword [ebp]
mov eax, dword [esp + 0x20]
sete dl
push edx
push eax
call fcn.004d92b0
mov edx, dword [esi]
xor ecx, ecx
push ecx
push 2
xor eax, eax
push ecx
push eax
mov eax, dword [edx + 0x14]
push esi
call eax
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
cmp edi, dword [ebp + 8]
jb 0x47b009
call fcn.0044b7ad
add edi, 4
jmp 0x47ad02
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b4], 2
call fcn.0049f870
mov eax, dword [esp + 0x2c]
xor esi, esi
cmp eax, esi
je 0x47b038
push eax
call fcn.004274fc
add esp, 4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x1b4], 0xffffffff
call fcn.0049f870
mov ecx, dword [esp + 0x1ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x194]
xor ecx, esp
call fcn.0044abb9
add esp, 0x1a4
ret 8