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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf4
mov eax, dword [ebp + 0x18]
push ebx
mov edx, 2
push esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xe4], edx
mov ebx, ecx
xor ecx, ecx
mov edx, esi
push edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 8]
and edx, 0xfff00000
cmp edx, 0x20500000
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xfc], ecx
jne 0x48fdf8
mov eax, dword [ebp + 0x1c]
and eax, 4
or eax, ecx
je 0x48fdf8
mov edx, esi
and edx, 0xfffff
mov dword [esp + 0x28], ecx
jbe 0x48fde1
mov eax, dword [ebp + 0x18]
sub eax, edi
mov ecx, edi
mov dword [esp + 0x2c], eax
jmp 0x48fdb5
mov eax, dword [esp + 0x2c]
mov edi, dword [ecx]
cmp edi, dword [eax + ecx]
jne 0x48fddc
mov eax, edi
mov eax, dword [eax + 8]
and eax, 1
xor edi, edi
or eax, edi
je 0x48fddc
mov eax, dword [esp + 0x28]
add eax, 1
add ecx, 4
cmp eax, edx
mov dword [esp + 0x28], eax
jb 0x48fdb1
mov edi, dword [ebp + 0x14]
xor ecx, ecx
cmp dword [esp + 0x28], edx
jne 0x48fdf8
and edx, 0xfffff
or edx, 0x10000000
mov esi, edx
mov dword [ebp + 0xc], esi
cmp esi, 0x50000001
jne 0x48fe36
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push 0
push 0
push eax
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp + 8]
push edx
push edi
push eax
push 0x20500001
push ecx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491db7
xor edi, edi
jmp 0x491d8f
cmp esi, 0x50000002
jne 0x48ff03
mov edx, dword [ebx + 8]
test byte [edx + 0xa8], 0x80
jne 0x48ff03
mov esi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
xor eax, eax
push eax
push eax
push eax
mov eax, dword [ebp + 0x18]
and esi, 0x8180
push esi
push eax
mov eax, dword [ebp + 8]
push ecx
lea edx, [esp + 0x58]
push edx
push 0x20500001
push eax
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491db7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
push 0
push 0
xor eax, eax
push eax
push esi
add ecx, 4
push ecx
mov ecx, dword [ebp + 8]
add edx, 4
push edx
lea eax, [esp + 0x5c]
push eax
push 0x20500001
push ecx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491db7
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
push 0
push 0
push edx
push eax
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x54]
push edx
push eax
push 0x20400001
push ecx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491db7
xor edi, edi
jmp 0x491d8c
mov edx, dword [ebx + 8]
test byte [edx + 0xa9], 2
je 0x490151
mov eax, esi
and eax, 0xfff00000
cmp eax, 0x20000000
mov dword [esp + 0x34], eax
je 0x48ff3e
cmp eax, 0x20100000
je 0x48ff3e
cmp eax, 0x20200000
je 0x48ff3e
cmp eax, 0x20300000
jne 0x490151
mov eax, dword [ebp + 0xc]
and eax, 0xfffff
xor ecx, ecx
mov dword [esp + 0x28], eax
lea edi, [eax*4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x64], ecx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x5c]
mov esi, 2
push ecx
push edx
lea ecx, [esi + 2]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], esi
call fcn.00482df0
mov edi, eax
test edi, edi
jge 0x48ff9c
mov edx, dword [esp + 0x58]
push edx
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
call fcn.00482e60
jmp 0x491d84
mov esi, dword [esp + 0x28]
test esi, esi
mov edi, dword [esp + 0x58]
lea eax, [edi + esi*4]
lea ecx, [esi + esi*2]
mov dword [esp + 0x7c], eax
lea eax, [edi + esi*8]
lea ecx, [edi + ecx*4]
jbe 0x49005d
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
sub edi, edx
sub edx, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edx
sub ecx, eax
mov dword [esp + 0x38], esi
mov edx, dword [esp + 0x34]
cmp edx, 0x20200000
ja 0x490023
je 0x490019
cmp edx, 0x20000000
je 0x490006
cmp edx, 0x20100000
jne 0x490036
mov edx, dword [esp + 0x24]
mov edi, dword [edx + eax]
add edx, eax
mov dword [eax], edi
mov edi, dword [esp + 0x2c]
mov edx, dword [edx + edi]
jmp 0x490033
mov edx, dword [esp + 0x24]
add edx, eax
mov edi, dword [edx + edi]
mov dword [eax], edi
mov edx, dword [edx]
mov edi, dword [esp + 0x2c]
jmp 0x490033
mov edx, dword [ebx + 0x74]
mov dword [eax], edx
mov edx, dword [ebx + 0x70]
jmp 0x490033
cmp edx, 0x20300000
jne 0x490036
mov edx, dword [ebx + 0x70]
mov dword [eax], edx
mov edx, dword [ebx + 0x74]
mov dword [ecx + eax], edx
add eax, 4
sub dword [esp + 0x38], 1
jne 0x48ffd4
test esi, esi
mov edi, dword [esp + 0x58]
jbe 0x49005d
or eax, 0xffffffff
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x49005d
mov edi, dword [esp + 0x7c]
mov ecx, esi
or eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x28]
xor ecx, ecx
push ecx
push ecx
push ecx
and eax, 0x8180
push eax
push ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 8]
and esi, 0xfffff
push ecx
mov edx, esi
or edx, 0x10100000
push edx
push eax
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jge 0x4900a7
mov ecx, dword [esp + 0x58]
push ecx
jmp 0x48ff86
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x14]
push 0
push 0
xor eax, eax
push eax
mov eax, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x8c]
push eax
push ecx
mov ecx, dword [ebp + 8]
push edx
mov eax, esi
or eax, 0x20400000
push eax
push ecx
mov ecx, ebx
call fcn.0048fd00
mov edx, dword [esp + 0x58]
mov edi, eax
test edi, edi
jl 0x48ff85
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
push 0
push 0
push eax
mov eax, dword [esp + 0x34]
push ecx
lea ecx, [edx + eax*8]
mov edx, dword [esp + 0x8c]
mov eax, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
or esi, 0x30000000
push esi
push ecx
mov ecx, ebx
call fcn.0048fd00
mov ecx, dword [esp + 0x64]
mov edi, eax
test edi, edi
jge 0x490138
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
call fcn.00482e60
jmp 0x491d84
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x64]
xor edi, edi
call fcn.00482e60
jmp 0x491d8c
test byte [edx + 0xae], 0x40
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
je 0x4902f6
mov eax, esi
and eax, 0xfff00000
cmp eax, 0x10000000
je 0x4902f6
cmp eax, 0x11d00000
je 0x4902f6
cmp eax, 0x20700000
je 0x4902f6
cmp eax, 0x11400000
je 0x4902f6
cmp eax, 0x11900000
je 0x4902f6
cmp eax, 0x11c00000
je 0x4902f6
cmp eax, 0x11100000
je 0x4902f6
cmp eax, 0x24200000
je 0x4902f6
cmp eax, 0x11500000
je 0x4902f6
cmp eax, 0x24300000
je 0x4902f6
cmp eax, 0x50700000
je 0x4902f6
cmp eax, 0x50400000
je 0x4902f6
cmp eax, 0x50500000
je 0x4902f6
mov eax, esi
and eax, 0xf0000000
cmp eax, 0x60000000
je 0x4902f6
cmp eax, 0x90000000
je 0x4902f6
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x44]
push edx
push eax
push edi
push esi
push ebx
call fcn.00492320
mov edi, eax
test edi, edi
jl 0x491db7
mov edi, esi
and edi, 0xfffff
lea eax, [esp + 0xd0]
mov dword [esp + 0x20], edi
call fcn.0048cb10
mov edi, eax
test edi, edi
jl 0x491db7
mov edi, dword [esp + 0x20]
lea eax, [esp + 0xe0]
call fcn.0048cb10
mov edi, eax
test edi, edi
jl 0x491db7
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xe0]
lea eax, [esp + 0x58]
push eax
push ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xd8]
push edx
lea eax, [esp + 0x7c]
push eax
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push esi
push ebx
lea eax, [esp + 0x58]
call fcn.004926c0
mov edi, eax
test edi, edi
jl 0x491db7
mov ecx, dword [esp + 0x24]
and ecx, 0xfff00000
cmp ecx, 0x21700000
jne 0x49077b
mov eax, dword [ebx + 8]
test byte [eax + 0xa8], 0x40
jne 0x49077b
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x4c]
and ebx, 0xfffff
push edx
lea ecx, [esp + 0x44]
mov esi, 2
push ecx
lea edi, [ebx + ebx*2]
add edi, edi
add edi, edi
push eax
lea ecx, [esi + 2]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
call fcn.00482df0
mov edi, eax
test edi, edi
jge 0x490377
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
call fcn.00482e60
jmp 0x491d84
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x28e0]
push 8
push 0
push 0
push 0x80000000
push 0
push 0
push ecx
lea edx, [esp + 0x58]
push edx
push eax
call fcn.004ca470
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0x40]
xor eax, eax
lea edx, [ebx*4]
jmp 0x4903c0
mov dword [esp + eax*4 + 0x88], ecx
add eax, 1
add ecx, edx
cmp eax, 0xc
jb 0x4903c0
test ebx, ebx
mov eax, dword [esp + 0x8c]
mov byte [esp + 0x1b], 1
jbe 0x490506
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x70]
sub edx, eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x6c]
sub ecx, eax
sub edx, eax
mov dword [esp + 0x20], ecx
sub esi, eax
mov dword [esp + 0x34], ebx
jmp 0x490415
mov ecx, dword [esp + 0x20]
mov edi, dword [edx + eax]
mov dword [ecx + eax], edi
mov ecx, dword [esi + eax]
mov edi, dword [esp + 0x24]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edi + eax], ecx
mov ecx, dword [edx + eax]
mov ecx, dword [ecx + 8]
and ecx, 0x800
xor edi, edi
or ecx, edi
je 0x49044d
mov ecx, dword [esi + eax]
mov ecx, dword [ecx + 8]
and ecx, 0x800
or ecx, edi
jne 0x490452
mov byte [esp + 0x1b], 0
add eax, 4
sub dword [esp + 0x34], 1
jne 0x490411
test ebx, ebx
jbe 0x490506
mov edi, dword [esp + 0x94]
or eax, 0xffffffff
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0x98]
or eax, eax
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0x9c]
or eax, 0xffffffff
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0xa0]
or eax, eax
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0xa4]
or eax, 0xffffffff
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0xa8]
or eax, eax
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0xac]
or eax, 0xffffffff
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0xb0]
or eax, eax
test ebx, ebx
mov ecx, ebx
rep stosd dword es:[edi], eax
jbe 0x490506
mov edi, dword [esp + 0xb4]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x94]
mov esi, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push edx
and ebx, 0xfffff
push ecx
mov ecx, dword [esp + 0x38]
mov eax, ebx
or eax, 0x12000000
push eax
push esi
mov dword [esp + 0x58], eax
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x34]
push 0
push 0
push 0
push 0
push 0
push edx
push eax
push ecx
mov ecx, dword [esp + 0x3c]
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x9c]
push 0
push 0
push 0
push 0
push edx
push eax
push ecx
mov ecx, dword [esp + 0x38]
mov edx, ebx
or edx, 0x23300000
push edx
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x94]
push 0
push 0
push 8
push 0
push ecx
mov ecx, dword [esp + 0xb4]
push edx
push ecx
mov ecx, dword [esp + 0x38]
mov eax, ebx
or eax, 0x21e00000
push eax
push esi
mov dword [esp + 0x44], eax
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0xa4]
push 0
push 0
push 8
push 0
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x38]
push edx
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xac]
push 0
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov eax, ebx
or eax, 0x21a00000
push eax
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x34]
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xb0]
push 0
push 0
push 0
push 0
push ecx
push edx
push eax
mov ecx, ebx
or ecx, 0x23000000
push ecx
mov ecx, dword [esp + 0x3c]
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
push 0
push 0
push 0
push 0
push 0
push edx
push eax
mov ecx, ebx
or ecx, 0x13600000
push ecx
mov ecx, dword [esp + 0x3c]
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xb4]
mov ecx, dword [ebp + 0x10]
push 0
push 0
push 0x10
push 0
push edx
push eax
push ecx
mov ecx, dword [esp + 0x38]
or ebx, 0x30100000
push ebx
push esi
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
cmp byte [esp + 0x1b], 0
jne 0x49076b
push 0x45a930
mov edi, esi
mov esi, dword [esp + 0x20]
push 0xde4
call fcn.0048c9a0
add esp, 8
lea esi, [esp + 0x40]
xor edi, edi
call fcn.0048cb30
jmp 0x491d88
cmp ecx, 0x21800000
jne 0x490b8e
mov eax, dword [ebx + 8]
test byte [eax + 0xa8], 0x40
jne 0x490b8e
mov edi, dword [ebp + 0xc]
and edi, 0xfffff
xor ecx, ecx
mov dword [esp + 0x24], edi
imul edi, edi, 0xb
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0x44]
mov esi, 2
push ecx
push eax
lea ecx, [esi + 2]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], esi
call fcn.00482df0
mov edi, eax
test edi, edi
jl 0x491d7b
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x28e0]
push 8
push 0
push 0
push 0x80000000
push 0
push 0
push edx
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.004ca470
mov edi, eax
test edi, edi
jl 0x491d7b
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
xor eax, eax
lea edx, [esi*4]
lea ebx, [ebx]
mov dword [esp + eax*4 + 0x88], ecx
add eax, 1
add ecx, edx
cmp eax, 0xb
jb 0x490820
test esi, esi
mov eax, dword [esp + 0x8c]
mov byte [esp + 0x1b], 1
jbe 0x490950
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x70]
sub edx, eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x6c]
sub ecx, eax
sub edx, eax
mov dword [esp + 0x20], ecx
sub edi, eax
mov dword [esp + 0x34], esi
jmp 0x490875
mov ecx, dword [esp + 0x20]
mov esi, dword [edx + eax]
mov dword [ecx + eax], esi
mov ecx, dword [edi + eax]
mov esi, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esi + eax], ecx
mov ecx, dword [edx + eax]
mov ecx, dword [ecx + 8]
and ecx, 0x800
xor esi, esi
or ecx, esi
je 0x4908ad
mov ecx, dword [edi + eax]
mov ecx, dword [ecx + 8]
and ecx, 0x800
or ecx, esi
jne 0x4908b2
mov byte [esp + 0x1b], 0
add eax, 4
sub dword [esp + 0x34], 1
jne 0x490871
mov esi, dword [esp + 0x24]
test esi, esi
jbe 0x490950
mov edi, dword [esp + 0x94]
or eax, 0xffffffff
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0x98]
or eax, eax
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0x9c]
or eax, 0xffffffff
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0xa0]
or eax, eax
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0xa4]
or eax, 0xffffffff
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0xa8]
or eax, eax
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0xac]
or eax, 0xffffffff
test esi, esi
mov ecx, esi
rep stosd dword es:[edi], eax
jbe 0x490950
mov edi, dword [esp + 0xb0]
mov ecx, esi
or eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x94]
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ebp + 8]
and esi, 0xfffff
push ecx
mov eax, esi
or eax, 0x12000000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0x58], eax
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x34]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x9c]
push 0
push 0
push 0
push 0
push ecx
push edx
mov edx, dword [ebp + 8]
push eax
mov ecx, esi
or ecx, 0x23000000
push ecx
push edx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x94]
push 0
push 0
push 8
push 0
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [ebp + 8]
push ecx
mov eax, esi
or eax, 0x21e00000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0x44], eax
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa4]
push 0
push 0
push 8
push 0
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xac]
push 0
push 0
push 0
push 0
push edx
push eax
mov eax, dword [ebp + 8]
push ecx
mov edx, esi
or edx, 0x21b00000
push edx
push eax
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x34]
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xb0]
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ebp + 8]
push eax
mov ecx, esi
or ecx, 0x13600000
push ecx
push edx
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [ebp + 0x10]
push 0
push 0
push 0x10
push 0
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
or esi, 0x30100000
push esi
push eax
mov ecx, ebx
call fcn.0048fd00
mov edi, eax
test edi, edi
jl 0x491d7b
cmp byte [esp + 0x1b], 0
jne 0x490b7e
mov edi, dword [ebp + 8]
push 0x45a978
push 0xde4
mov esi, ebx
call fcn.0048c9a0
add esp, 8
lea esi, [esp + 0x40]
xor edi, edi
call fcn.0048cb30
jmp 0x491d8c
mov edx, dword [ebx + 8]
push 0xffffffffffffffff
push 0xffffffffffffffff
and esi, 0xfffff
or esi, ecx
push esi
lea ecx, [esp + 0x2c]
push ecx
push edx
call fcn.004ca530
mov edi, eax
test edi, edi
jl 0x491db7
mov eax, dword [ebp + 0x28]
mov ebx, dword [esp + 0x20]
xor edi, edi
cmp eax, edi
je 0x490bc2
mov dword [eax], ebx
cmp dword [ebx + 8], edi
jne 0x490bd8
cmp dword [ebx], edi
jne 0x490bd8
mov dword [ebx + 0x38], edi
mov dword [ebx], edi
mov dword [ebx + 8], edi
jmp 0x491d88
mov edx, ebx
call fcn.004cd0e0
mov ecx, dword [ebx + 0x38]
mov edx, dword [ebx]
and ecx, 0xfffff
cmp edx, ecx
mov dword [esp + 0x30], eax
sbb eax, eax
not eax
and eax, ecx
sub edx, eax
test eax, eax
mov edi, edx
je 0x490c0f
cmp dword [esp + 0x6c], 0
jne 0x490c0f
mov edi, 0x8007003f
jmp 0x491db7
test edi, edi
je 0x490c24
cmp dword [esp + 0x70], 0
jne 0x490c24
mov edi, 0x8007003f
jmp 0x491db7
mov ecx, dword [ebx + 4]
lea esi, [eax*4]
mov eax, dword [esp + 0x6c]
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebx + 4]
add esp, 0xc
lea edx, [edi*4]
push edx
push eax
add ecx, esi
push ecx
call sub.msvcrt.dll_memcpy
mov edi, dword [ebx + 0x38]
mov eax, dword [ebx]
and edi, 0xfffff
xor edx, edx
div edi
add esp, 0xc
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], 0
test eax, eax
mov dword [esp + 0x78], eax
jbe 0x490e94
mov dword [esp + 0x28], 0
test edi, edi
mov byte [esp + 0x1b], 1
mov dword [esp + 0x3c], 0
jbe 0x490d76
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + eax]
mov eax, dword [ebx + 0x38]
call fcn.004cbc40
test al, al
je 0x490d00
mov eax, dword [esp + 0x1c]
push 1
lea edx, [esp + 0x28]
push edx
push 0
push eax
mov dword [esp + 0x34], esi
call fcn.0048b010
mov edi, eax
test edi, edi
jl 0x491db7
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 8]
mov edi, dword [esp + 0x38]
and eax, 0x10
xor ecx, ecx
or eax, ecx
je 0x490d00
mov ecx, dword [ebx + 4]
mov eax, dword [esp + 0x2c]
mov dword [eax + ecx], edx
mov esi, dword [esp + 0x24]
add dword [esi + 0x84], 1
cmp byte [esp + 0x1b], 0
je 0x490d4e
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 8]
and eax, 0x100
xor edx, edx
or eax, edx
jne 0x490d2e
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
cmp ecx, dword [eax + 0x28fc]
jne 0x490d4e
mov eax, dword [esi + 8]
and eax, 0x800
xor ecx, ecx
or eax, ecx
je 0x490d4e
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0xd8], 0
mov byte [esp + 0x1b], 1
je 0x490d53
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 0x3c]
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, edi
mov dword [esp + 0x3c], eax
jb 0x490ca4
cmp byte [esp + 0x1b], 0
je 0x490e70
test edi, edi
mov dword [esp + 0x3c], 0
jbe 0x490e70
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov edi, edi
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 4]
mov esi, dword [eax + ecx]
mov edx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xc8], eax
mov eax, dword [edx + 8]
cmp ecx, dword [eax + 0x28fc]
jne 0x490e56
mov eax, dword [edx + 8]
mov edx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0xb0]
and edx, 0x80000000
or edx, 0x7800
and edi, 0x1ff
push edi
push edx
mov edx, dword [esi + 0xb4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [eax + 0x28e0]
push 0
push 0
push ecx
push edx
push eax
call fcn.004ca470
mov edi, eax
test edi, edi
jl 0x491db7
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x2c]
mov ecx, dword [edi + eax]
and dword [ecx + 8], 0x7fffffff
and dword [ecx + 0xc], 0xfffffe00
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
and eax, 0x1ff
or dword [ecx + 0xc], eax
and edx, 0x80000000
or dword [ecx + 8], edx
mov eax, esi
call fcn.004dbe10
mov ecx, dword [ebx + 4]
mov ecx, dword [edi + ecx]
mov eax, esi
call fcn.004ddc10
mov edx, dword [ebx + 4]
mov eax, dword [edi + edx]
mov ecx, dword [esi + 0x38]
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x3c]
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
jb 0x490d90
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
add eax, 1
lea ecx, [edi*4]
add dword [esp + 0x28], ecx
cmp eax, dword [esp + 0x78]
mov dword [esp + 0x20], eax
jb 0x490c87
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x2c], 0
jbe 0x4911a7
lea edx, [eax*4]
mov dword [esp + 0x24], edx
mov eax, dword [ebp + 0x10]
test eax, eax
mov dword [esp + 0x20], 0xffffffff
je 0x490eda
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx*4]
cmp eax, 0xffffffff
je 0x490eda
test eax, eax
mov dword [esp + 0x20], eax
je 0x4911d3
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov edx, ebx
call fcn.00492280
fldz
sub esp, 8
fstp qword [esp]
push 0
push 0
push 0
push 0
push eax
lea edx, [esp + 0x94]
mov eax, edi
mov ecx, dword [eax + 8]
push edx
push ecx
call fcn.004ca3c0
mov edi, eax
test edi, edi
jl 0x491db7
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
mov dword [esi + 0x6c], ebx
mov eax, edi
mov edx, ebx
mov dword [esi + 0x2c], edi
call fcn.00491f30
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0xc], edx
mov ecx, dword [eax + 0xa0]
mov dword [esi + 0x30], ecx
mov dl, byte [eax + 0xa4]
mov byte [esi + 0x34], dl
mov eax, dword [eax + 8]
test byte [eax + 0xb0], 1
je 0x4910bb
mov ecx, dword [ebx + 0x38]
and ecx, 0xfff00000
cmp ecx, 0x10000000
je 0x490f98
cmp ecx, 0x11d00000
jne 0x491012
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + edi*4]
mov eax, dword [eax + 0x28dc]
cmp dword [ecx + 0x10], eax
jne 0x491012
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x491012
test ecx, ecx
je 0x490fe7
cmp ecx, 0xffffffff
je 0x490fe7
mov edx, dword [esi + 0x18]
test edx, edx
je 0x490fcc
mov edi, dword [esi + 0x14]
mov dword [edx + 0x14], edi
mov edi, dword [esp + 0x2c]
jmp 0x490fd2
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x24], edx
mov edx, dword [esi + 0x14]
test edx, edx
je 0x490fe1
mov ecx, dword [esi + 0x18]
mov dword [edx + 0x18], ecx
jmp 0x490fe7
mov edx, dword [esi + 0x18]
mov dword [ecx + 0x28], edx
test eax, eax
je 0x49100f
cmp eax, 0xffffffff
je 0x49100f
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x491002
mov dword [ecx + 0x14], esi
jmp 0x491005
mov dword [eax + 0x24], esi
mov dword [esi + 0x14], 0
mov dword [eax + 0x28], esi
mov dword [esi + 0x10], eax
mov edx, dword [ebx + 0x38]
and edx, 0xfff00000
cmp edx, 0x30100000
jne 0x4910bb
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
mov ecx, dword [eax + ecx]
lea edx, [edi + edx*2]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x28dc]
cmp dword [ecx + 0x10], eax
jne 0x4910bb
cmp dword [edx + 0x10], eax
jne 0x4910bb
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x4910bb
test ecx, ecx
je 0x491090
cmp ecx, 0xffffffff
je 0x491090
mov edx, dword [esi + 0x18]
test edx, edx
je 0x491075
mov edi, dword [esi + 0x14]
mov dword [edx + 0x14], edi
mov edi, dword [esp + 0x2c]
jmp 0x49107b
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x24], edx
mov edx, dword [esi + 0x14]
test edx, edx
je 0x49108a
mov ecx, dword [esi + 0x18]
mov dword [edx + 0x18], ecx
jmp 0x491090
mov edx, dword [esi + 0x18]
mov dword [ecx + 0x28], edx
test eax, eax
je 0x4910b8
cmp eax, 0xffffffff
je 0x4910b8
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x18], ecx
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x4910ab
mov dword [ecx + 0x14], esi
jmp 0x4910ae
mov dword [eax + 0x24], esi
mov dword [esi + 0x14], 0
mov dword [eax + 0x28], esi
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x10]
test eax, eax
mov edx, dword [ebx + 0xc]
mov dword [edx + edi*4], esi
je 0x4910cb
mov dword [eax + edi*4], esi
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
je 0x491103
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
and eax, 0x8000000
xor edx, edx
or eax, edx
jne 0x4910eb
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x38], eax
mov edx, dword [ecx + 0x8c]
mov dword [esi + 0x8c], edx
mov eax, dword [ecx + 0x90]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x38]
cmp eax, 0xffffffff
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xc8], ecx
je 0x491191
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 4]
mov ecx, dword [ecx + 0x20]
cmp eax, ecx
jb 0x49112e
add ecx, 0xb
cmp eax, ecx
jb 0x491191
cmp byte [edx + 0xcd], 0
jne 0x491191
mov ecx, dword [ebx + 0xc]
mov edx, dword [edx + 0x1c]
mov ecx, dword [ecx + edi*4]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0xc8]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov eax, ecx
mov dword [esp + 0xcc], edx
and eax, 0x8200000
xor edx, edx
or eax, edx
jne 0x491191
cmp dword [esi + 0x8c], edx
jne 0x491191
and ecx, 0x200000
or ecx, eax
jne 0x491191
mov eax, dword [esi]
mov esi, dword [esp + 0x1c]
push eax
push 0x45a9e4
push ecx
xor edi, edi
call fcn.0048c920
mov edi, dword [esp + 0x38]
add esp, 0xc
add dword [esp + 0x24], 4
add edi, 1
cmp edi, dword [esp + 0x30]
mov dword [esp + 0x2c], edi
jb 0x490eb3
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x30]
cmp eax, 0x3ffffff
mov edx, dword [ecx + 0xb0]
mov dword [ebx + 0x30], edx
jbe 0x491249
mov eax, 0x80070216
jmp 0x4912b7
mov esi, dword [esp + 0x1c]
push 0x45a9bc
push 0
xor edi, edi
call fcn.0048c920
mov edx, dword [esp + 0x7c]
add esp, 8
push edi
xor ecx, ecx
lea eax, [edi + 6]
call fcn.00482e60
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xe4]
push ecx
mov ecx, dword [esp + 0xf0]
call fcn.00482e60
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
push edx
mov edx, dword [esp + 0xd8]
call fcn.00482e60
mov eax, 0x80004005
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
shl eax, 6
jne 0x491253
mov eax, 0x40
mov edi, dword [esp + 0x74]
add edi, 0x29ec
test eax, eax
mov dword [esp + 0xfc], eax
mov esi, eax
ja 0x49126f
mov esi, 1
mov eax, dword [edi]
test eax, eax
je 0x49127f
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp esi, ecx
jbe 0x49128e
mov ecx, esi
call fcn.0048cb80
test eax, eax
je 0x49128e
xor eax, eax
jmp 0x4912a2
mov ecx, dword [edi]
test ecx, ecx
je 0x49129d
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x49129f
xor eax, eax
add dword [ecx + 8], esi
mov dword [esp + 0xf0], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
test eax, eax
mov edi, eax
jl 0x491d84
mov edi, dword [esp + 0x30]
xor esi, esi
test edi, edi
jbe 0x4912f7
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx + 0xc]
mov eax, dword [edx + esi*4]
push ecx
mov ecx, dword [esp + 0x20]
push eax
call fcn.0048b3a0
add dword [esp + 0x24], 0x40
add esi, 1
cmp esi, edi
jb 0x4912d6
mov ecx, dword [esp + 0x1c]
test byte [ecx + 0x14], 4
jne 0x4913e6
mov eax, dword [ebx + 0x38]
call fcn.004cba80
test al, al
jne 0x4913e6
xor esi, esi
test edi, edi
jbe 0x491349
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + esi*4]
mov eax, dword [ecx + 8]
and eax, 0x8180
xor edx, edx
or eax, edx
jne 0x491349
lea eax, [esp + 0x40]
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.0048b2d0
test eax, eax
jl 0x491349
add esi, 1
cmp esi, edi
jb 0x49131b
cmp esi, edi
jne 0x4913e6
mov ecx, edi
and ecx, 0xfffff
or ecx, 0x10000000
xor eax, eax
test edi, edi
mov dword [ebx + 0x38], ecx
mov dword [ebx], edi
mov dword [ebx + 8], edi
mov dword [esp + 0x20], eax
jbe 0x4913e6
mov edx, dword [ebx + 0xc]
lea ecx, [eax*4]
mov eax, dword [ecx + edx]
mov edx, dword [eax + 0xb4]
mov edi, dword [eax + 0xb0]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, 0x1ff
push eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 8]
and esi, 0x80000000
or esi, 0x800
push esi
push eax
mov eax, dword [edx + 0x28e0]
push edi
push 0
push 0
push eax
mov eax, dword [ebx + 4]
add eax, ecx
push eax
push edx
call fcn.004ca470
mov edi, eax
test edi, edi
jl 0x491db7
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
jb 0x491371
mov ecx, dword [ebx + 0x38]
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x11d00000
ja 0x491636
je 0x4914cd
cmp eax, 0x11900000
ja 0x491421
je 0x49142c
cmp eax, 0x10000000
je 0x4914cd
cmp eax, 0x11400000
je 0x49142c
jmp 0x491af8
cmp eax, 0x11c00000
jne 0x491af8
xor esi, esi
cmp dword [esp + 0x30], esi
mov dword [esp + 0x24], esi
jbe 0x491af8
lea esp, [esp]
mov edx, dword [ebx + 4]
mov edx, dword [edx + esi*4]
mov eax, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov ecx, dword [ebx + 0xc]
mov ecx, dword [ecx + esi*4]
and eax, 0x7fffffff
or dword [ecx + 8], eax
and edi, 0xfffffe00
or dword [ecx + 0xc], edi
mov eax, dword [edx + 8]
xor eax, dword [ecx + 8]
mov dword [esp + 0x20], edx
mov edx, dword [edx + 0xc]
xor edx, dword [ecx + 0xc]
and eax, 0x80000000
and edx, 0x1ff
or eax, edx
mov dword [esp + 0x3c], ecx
jne 0x4914b7
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x88]
call fcn.004dbf30
mov esi, dword [esp + 0x3c]
mov edi, ecx
call fcn.004db890
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 8]
mov eax, esi
mov esi, dword [esp + 0x24]
and edx, 0x27f
or dword [eax + 8], edx
add esi, 1
cmp esi, dword [esp + 0x30]
mov dword [esp + 0x24], esi
jb 0x491440
jmp 0x491af8
xor eax, eax
cmp dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
jbe 0x491af8
jmp 0x4914e4
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], edx
and eax, 0x80000000
xor edx, edx
or eax, edx
jne 0x49161c
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov edx, ecx
and edx, 0x92
or eax, edx
je 0x491527
xor edi, edi
mov dword [esp + 0x44], 0x92
jmp 0x491571
mov edx, ecx
and edx, 0x49
xor eax, eax
or eax, edx
je 0x49153e
xor edi, edi
mov dword [esp + 0x44], 0x49
jmp 0x491571
and esi, 0x80000000
mov eax, esi
xor edx, edx
or eax, edx
je 0x491557
mov edi, 0x80000000
mov dword [esp + 0x44], edx
jmp 0x491571
and ecx, 0x124
xor eax, eax
xor edi, edi
or eax, ecx
mov dword [esp + 0x44], 0x124
jne 0x491571
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
and edx, 0x92
xor ecx, ecx
or ecx, edx
je 0x491592
xor eax, eax
mov ecx, 0x92
jmp 0x4915d1
mov edx, eax
and edx, 0x49
xor ecx, ecx
or ecx, edx
je 0x4915a4
xor eax, eax
lea ecx, [eax + 0x49]
jmp 0x4915d1
and esi, 0x80000000
mov ecx, esi
xor edx, edx
or ecx, edx
je 0x4915b9
mov eax, 0x80000000
jmp 0x4915cf
and eax, 0x124
xor ecx, ecx
or ecx, eax
je 0x4915cd
xor eax, eax
mov ecx, 0x124
jmp 0x4915d1
xor eax, eax
xor ecx, ecx
cmp edi, eax
jne 0x4915ee
cmp dword [esp + 0x44], ecx
jne 0x4915ee
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x28]
mov dword [edx + 0x40], ecx
jmp 0x49161c
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
test byte [ecx + 0xae], 0x40
je 0x49160b
mov edx, dword [esp + 0x28]
mov dword [edx + 0x40], 0xffffffff
jmp 0x49161c
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x28]
mov dword [eax + 0x40], edx
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
jb 0x4914e0
jmp 0x491af8
cmp eax, 0x30100000
ja 0x491a94
je 0x4918c2
cmp eax, 0x20700000
je 0x49185a
cmp eax, 0x30000000
jne 0x491af8
cmp dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
jbe 0x491af8
fldz
mov edi, dword [ebx + 4]
mov ecx, dword [esp + 0x38]
mov esi, dword [edi + ecx*4]
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + ecx*4]
and eax, 0xfffff
add ecx, eax
mov dword [esp + 0x28], edx
add ecx, ecx
add ecx, ecx
mov edx, dword [ecx + edi]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x38]
lea edx, [edx + eax*2]
add edx, edx
add edx, edx
mov eax, dword [edx + edi]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
and eax, 0x1000
xor edi, edi
or eax, edi
je 0x49183e
fld qword [esi + 0xc8]
fld qword [esi + 0xc0]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x4916f4
mov edx, dword [ebx + 4]
fstp st(0)
mov ecx, dword [ecx + edx]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x20], ecx
jmp 0x491717
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x49183e
mov ecx, dword [ebx + 4]
mov edx, dword [edx + ecx]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
test byte [edx + 0xae], 0x40
mov dword [esp + 0x24], eax
je 0x491802
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, eax
and edi, 0x92
xor esi, esi
or esi, edi
je 0x49174f
xor edx, edx
mov dword [esp + 0x44], 0x92
jmp 0x491798
mov edi, eax
and edi, 0x49
xor esi, esi
or esi, edi
je 0x491766
xor edx, edx
mov dword [esp + 0x44], 0x49
jmp 0x491798
and ecx, 0x80000000
mov esi, ecx
xor ecx, ecx
or esi, ecx
je 0x49177f
mov edx, 0x80000000
mov dword [esp + 0x44], ecx
jmp 0x491798
and eax, 0x124
xor esi, esi
xor edx, edx
or esi, eax
mov dword [esp + 0x44], 0x124
jne 0x491798
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, eax
and edi, 0x92
xor esi, esi
or esi, edi
je 0x4917b9
xor eax, eax
mov esi, 0x92
jmp 0x4917f8
mov edi, eax
and edi, 0x49
xor esi, esi
or esi, edi
je 0x4917cb
xor eax, eax
lea esi, [eax + 0x49]
jmp 0x4917f8
and ecx, 0x80000000
mov esi, ecx
xor ecx, ecx
or esi, ecx
je 0x4917e0
mov eax, 0x80000000
jmp 0x4917f6
and eax, 0x124
xor esi, esi
or esi, eax
je 0x4917f4
xor eax, eax
mov esi, 0x124
jmp 0x4917f8
xor eax, eax
xor esi, esi
cmp edx, eax
jne 0x49183e
cmp dword [esp + 0x44], esi
jne 0x49183e
mov eax, dword [esp + 0x28]
fstp st(0)
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [eax + 0x40], ecx
lea ecx, [esp + 0x88]
call fcn.004dbf30
mov esi, dword [esp + 0x28]
mov edi, ecx
call fcn.004db890
fldz
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 8]
and ecx, 0x27f
mov eax, esi
or dword [eax + 8], ecx
mov eax, dword [esp + 0x38]
add eax, 1
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
jb 0x491672
fstp st(0)
jmp 0x491af8
xor edx, edx
cmp dword [esp + 0x30], edx
jbe 0x491af8
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + edx*4]
mov eax, dword [ebx + 4]
mov edi, dword [eax + edx*4]
mov ecx, dword [ebx + 8]
add ecx, edx
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0xc]
and ecx, dword [edi + 8]
mov dword [esp + 0x44], eax
mov eax, ecx
and eax, 1
xor edi, edi
or eax, edi
je 0x4918a1
mov ecx, dword [esi + 0xc]
or dword [esi + 8], 0x17
mov dword [esi + 0xc], ecx
jmp 0x4918b4
and ecx, 2
xor eax, eax
or ecx, eax
je 0x4918b4
mov eax, dword [esi + 0xc]
or dword [esi + 8], 2
mov dword [esi + 0xc], eax
add edx, 1
cmp edx, dword [esp + 0x30]
jb 0x491866
jmp 0x491af8
cmp dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
jbe 0x491af8
mov edi, dword [ebx + 4]
mov ecx, dword [esp + 0x38]
mov esi, dword [edi + ecx*4]
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + ecx*4]
and eax, 0xfffff
add ecx, eax
mov dword [esp + 0x28], edx
add ecx, ecx
add ecx, ecx
mov edx, dword [ecx + edi]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x38]
lea edx, [edx + eax*2]
add edx, edx
add edx, edx
mov eax, dword [edx + edi]
mov dword [esp + 0xc8], eax
mov eax, dword [esi + 8]
and eax, 0x800
xor edi, edi
or eax, edi
je 0x491a7d
mov eax, dword [esi + 0xb0]
test eax, eax
mov esi, dword [esi + 0xb4]
mov dword [esp + 0x5c], esi
je 0x491949
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + edx]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
jmp 0x49195a
mov ecx, dword [ebx + 4]
mov edx, dword [edx + ecx]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
test byte [edx + 0xae], 0x40
mov dword [esp + 0x24], eax
je 0x491a45
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, eax
and edi, 0x92
xor esi, esi
or esi, edi
je 0x491992
xor edx, edx
mov dword [esp + 0x44], 0x92
jmp 0x4919db
mov edi, eax
and edi, 0x49
xor esi, esi
or esi, edi
je 0x4919a9
xor edx, edx
mov dword [esp + 0x44], 0x49
jmp 0x4919db
and ecx, 0x80000000
mov esi, ecx
xor ecx, ecx
or esi, ecx
je 0x4919c2
mov edx, 0x80000000
mov dword [esp + 0x44], ecx
jmp 0x4919db
and eax, 0x124
xor esi, esi
xor edx, edx
or esi, eax
mov dword [esp + 0x44], 0x124
jne 0x4919db
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, eax
and edi, 0x92
xor esi, esi
or esi, edi
je 0x4919fc
xor eax, eax
mov esi, 0x92
jmp 0x491a3b
mov edi, eax
and edi, 0x49
xor esi, esi
or esi, edi
je 0x491a0e
xor eax, eax
lea esi, [eax + 0x49]
jmp 0x491a3b
and ecx, 0x80000000
mov esi, ecx
xor ecx, ecx
or esi, ecx
je 0x491a23
mov eax, 0x80000000
jmp 0x491a39
and eax, 0x124
xor esi, esi
or esi, eax
je 0x491a37
xor eax, eax
mov esi, 0x124
jmp 0x491a3b
xor eax, eax
xor esi, esi
cmp edx, eax
jne 0x491a7d
cmp dword [esp + 0x44], esi
jne 0x491a7d
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [eax + 0x40], ecx
lea ecx, [esp + 0x88]
call fcn.004dbf30
mov esi, dword [esp + 0x28]
mov edi, ecx
call fcn.004db890
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 8]
and ecx, 0x27f
mov eax, esi
or dword [eax + 8], ecx
mov eax, dword [esp + 0x38]
add eax, 1
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
jb 0x4918d5
jmp 0x491af8
cmp eax, 0x50000000
jne 0x491af8
mov edx, dword [ebx + 0xc]
mov eax, dword [edx]
and ecx, 0xfffff
mov edx, ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x20], edx
mov edi, 0
jbe 0x491aea
mov ecx, dword [ebx + 4]
lea edx, [ecx + edx*4]
lea ecx, [ecx]
mov eax, dword [edx]
mov eax, dword [eax + 8]
mov esi, dword [ecx]
and eax, dword [esi + 8]
xor esi, esi
and eax, 2
or eax, esi
je 0x491ae2
add edi, 1
add ecx, 4
add edx, 4
cmp edi, dword [esp + 0x20]
jb 0x491ac0
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x20]
cmp edi, edx
jne 0x491af8
mov ecx, dword [eax + 0xc]
or dword [eax + 8], 2
mov dword [eax + 0xc], ecx
cmp byte [ebp + 0x24], 0
je 0x491d62
cmp dword [esp + 0x34], 0xffffffff
je 0x491d62
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x30]
xor edx, edx
xor esi, esi
cmp ecx, 0x3ffffffd
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], edx
jbe 0x491b36
mov eax, 0x80070216
jmp 0x491baa
lea eax, [ecx*4]
test eax, eax
jne 0x491b46
mov eax, 4
mov edi, dword [esp + 0x44]
add edi, 0x29bc
test eax, eax
mov dword [esp + 0x4c], eax
mov esi, eax
ja 0x491b5f
mov esi, 1
mov eax, dword [edi]
test eax, eax
je 0x491b6f
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp esi, ecx
jbe 0x491b7e
mov ecx, esi
call fcn.0048cb80
test eax, eax
je 0x491b7e
xor eax, eax
jmp 0x491b92
mov ecx, dword [edi]
test ecx, ecx
je 0x491b8d
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x491b8f
xor eax, eax
add dword [ecx + 8], esi
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
mov esi, eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
test eax, eax
mov edi, eax
jge 0x491c2c
test esi, esi
mov ecx, edx
je 0x491d84
test edx, edx
ja 0x491bc3
mov ecx, 1
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x29bc]
cmp ecx, dword [eax + 8]
jae 0x491bda
sub dword [eax + 8], ecx
jmp 0x491d84
mov ecx, dword [edx + 0x29c0]
test ecx, ecx
je 0x491c06
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x491c06
mov esi, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x48]
add esp, 4
mov dword [eax + 0x29bc], esi
jmp 0x491d84
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x29bc]
mov dword [ecx + 0x29c0], eax
mov edx, dword [eax]
add esp, 4
mov dword [ecx + 0x29bc], edx
jmp 0x491d84
test ecx, ecx
jbe 0x491c37
or eax, 0xffffffff
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x4c]
xor ecx, eax
and ecx, 0xfffff
push esi
xor ecx, eax
push ecx
mov ecx, dword [esp + 0x3c]
push edx
call fcn.0048fd00
mov edi, eax
test edi, edi
jge 0x491ce2
test esi, esi
mov ecx, dword [esp + 0x4c]
je 0x491d84
test ecx, ecx
ja 0x491c81
mov ecx, 1
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0x29bc]
cmp ecx, dword [eax + 8]
jae 0x491c98
sub dword [eax + 8], ecx
jmp 0x491d84
mov ecx, dword [esi + 0x29c0]
test ecx, ecx
je 0x491cc0
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x491cc0
mov ebx, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x29bc], ebx
jmp 0x491d84
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi + 0x29bc]
mov dword [esi + 0x29c0], eax
mov eax, dword [eax]
add esp, 4
mov dword [esi + 0x29bc], eax
jmp 0x491d84
mov edx, dword [esp + 0x30]
test edx, edx
jbe 0x491cfe
mov eax, dword [ebp + 0x10]
mov ecx, esi
sub ecx, eax
mov edi, dword [eax + ecx]
mov dword [eax], edi
add eax, 4
sub edx, 1
jne 0x491cf1
test esi, esi
mov ecx, dword [esp + 0x4c]
je 0x491d62
test ecx, ecx
ja 0x491d0f
mov ecx, 1
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0x29bc]
cmp ecx, dword [eax + 8]
jae 0x491d23
sub dword [eax + 8], ecx
jmp 0x491d62
mov ecx, dword [esi + 0x29c0]
test ecx, ecx
je 0x491d45
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x491d45
mov edi, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov dword [esi + 0x29bc], edi
jmp 0x491d5f
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi + 0x29bc]
mov dword [esi + 0x29c0], eax
mov eax, dword [eax]
mov dword [esi + 0x29bc], eax
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0x34], ecx
mov eax, dword [edx + 0xb0]
mov dword [ebx + 0x30], eax
xor edi, edi
mov ebx, edx
jmp 0x491d8c
lea esi, [esp + 0x40]
call fcn.0048cb30
test edi, edi
jne 0x491db7
mov ebx, dword [esp + 0x1c]
mov esi, dword [ebp + 0xc]
cmp dword [ebx + 0x174], 0
jbe 0x491db7
mov eax, esi
call fcn.004cd680
test eax, eax
je 0x491db7
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x10]
push esi
push ebx
call fcn.00489b10
mov edi, eax
cmp dword [esp + 0xf0], 0
mov ecx, dword [esp + 0xfc]
je 0x491e2c
test ecx, ecx
ja 0x491dd1
mov ecx, 1
mov edx, dword [esp + 0x74]
mov eax, dword [edx + 0x29ec]
cmp ecx, dword [eax + 8]
jae 0x491de5
sub dword [eax + 8], ecx
jmp 0x491e2c
mov ecx, dword [edx + 0x29f0]
test ecx, ecx
je 0x491e0b
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x491e0b
mov esi, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x78]
mov dword [eax + 0x29ec], esi
jmp 0x491e29
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x29ec]
mov dword [eax + 0x29f0], ecx
mov ecx, dword [ecx]
mov dword [eax + 0x29ec], ecx
add esp, 4
cmp dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xe4]
lea esi, [eax + edx*4 + 0x29a4]
je 0x491e97
test ecx, ecx
ja 0x491e5e
mov ecx, 1
mov eax, dword [esi]
cmp ecx, dword [eax + 8]
jae 0x491e6a
sub dword [eax + 8], ecx
jmp 0x491e97
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x491e85
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x491e85
mov ebx, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov dword [esi], ebx
jmp 0x491e94
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi]
mov dword [esi + 4], eax
mov eax, dword [eax]
mov dword [esi], eax
add esp, 4
cmp dword [esp + 0xd0], 0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xd4]
lea esi, [eax + edx*4 + 0x29a4]
je 0x491f17
test ecx, ecx
ja 0x491ec9
mov ecx, 1
mov eax, dword [esi]
cmp ecx, dword [eax + 8]
jae 0x491ede
sub dword [eax + 8], ecx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x491f05
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x491f05
mov ebx, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov dword [esi], ebx
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi]
mov dword [esi + 4], eax
mov eax, dword [eax]
mov dword [esi], eax
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24