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

Disassembly:
push 0xffffffffffffffff
push 0x52d1e8
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x59c6b8]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
push ebx
mov eax, 0xd
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x6c]
push ebx
push eax
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
call fcn.00478400
cmp dword [eax], 8
jne 0x478e41
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov eax, dword [edx + 0x40]
call eax
push ebx
lea ecx, [esp + 0x24]
push ecx
push 0x53123c
mov ecx, eax
call fcn.00412200
cmp dword [eax], 1
lea ecx, [esp + 0x20]
je 0x4789e8
call fcn.0044ea50
jmp 0x478e41
mov edx, dword [esp + 0x28]
mov dword [edi + 4], edx
call fcn.0044ea50
cmp dword [edi + 4], ebx
jle 0x478e41
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
call edx
push ebx
lea ecx, [esp + 0x24]
push ecx
push str.First
mov ecx, eax
call fcn.00412200
cmp dword [eax], 1
lea ecx, [esp + 0x20]
jne 0x4789de
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], esi
call fcn.0044ea50
cmp esi, ebx
jl 0x478e41
mov ebp, dword [edi + 4]
cmp ebp, 0xf4240
jle 0x478a5b
push str.Too_many_objects_in_an_object_stream
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
call fcn.00412330
add esp, 0x10
jmp 0x478e41
xor ecx, ecx
mov eax, ebp
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00511699
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
mov dword [esp + 0x58], ebx
cmp esi, ebx
je 0x478a96
push 0x401070
push ebp
push 0x10
push esi
call fcn.004169c0
mov eax, esi
jmp 0x478a98
xor eax, eax
mov dword [edi + 8], eax
mov eax, dword [edi + 4]
push 4
or esi, 0xffffffff
push eax
mov dword [esp + 0x60], esi
call fcn.004a30a0
mov ecx, dword [edi + 4]
push 4
push ecx
mov dword [edi + 0xc], eax
call fcn.004a30a0
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx]
mov dword [esp + 0x74], eax
mov eax, dword [edx + 8]
add esp, 0x10
call eax
push 0x28
mov dword [esp + 0x24], 5
call fcn.00511699
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x58], 1
cmp ecx, ebx
je 0x478b0f
mov eax, dword [esp + 0x14]
cdq
push edx
push eax
mov eax, dword [esp + 0x40]
push 1
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.0046b3f0
mov dword [esp + 0x14], eax
jmp 0x478b13
mov dword [esp + 0x14], ebx
push 0x38
mov dword [esp + 0x5c], esi
call fcn.00511699
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
mov ebx, 2
mov dword [esp + 0x58], ebx
test esi, esi
je 0x478b7a
push 0xa0
call fcn.00511699
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x58], 3
test eax, eax
je 0x478b61
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
push ecx
push edx
mov ecx, eax
call fcn.0044a3f0
jmp 0x478b63
xor eax, eax
push 0
push eax
mov eax, dword [esp + 0x68]
push eax
mov ecx, esi
mov byte [esp + 0x64], bl
call fcn.00450010
mov ebp, eax
jmp 0x478b7c
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x58], 0xffffffff
cmp dword [edi + 4], esi
jle 0x478c31
push 0
push 0
push 0
push 0
push 0
push 0
mov ebx, 1
push ebx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, ebp
call fcn.00450380
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
lea edx, [esp + 0x5c]
push edx
mov ecx, ebp
call fcn.00450380
cmp dword [esp + 0x20], ebx
jne 0x478cee
cmp dword [esp + 0x40], ebx
jne 0x478cee
mov ecx, dword [esp + 0x28]
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [eax + esi*4], ecx
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x20]
mov dword [ebx + esi*4], edx
call fcn.0044ea50
lea ecx, [esp + 0x40]
call fcn.0044ea50
mov eax, dword [edi + 0xc]
cmp dword [eax + esi*4], 0
jl 0x478ccf
mov eax, dword [ebx + esi*4]
test eax, eax
js 0x478ccf
test esi, esi
jle 0x478c27
cmp eax, dword [ebx + esi*4 - 4]
jl 0x478ccf
inc esi
cmp esi, dword [edi + 4]
jl 0x478b8f
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
jne 0x478c31
test ebp, ebp
je 0x478c55
mov ecx, ebp
call fcn.00450110
push ebp
call fcn.0051163f
add esp, 4
mov ebp, dword [esp + 0x64]
mov eax, dword [ebp]
cmp esi, eax
jge 0x478c6e
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
sub eax, esi
push eax
mov eax, dword [edx + 0x24]
call eax
xor ebx, ebx
cmp dword [edi + 4], ebx
jle 0x478e26
mov dword [esp + 0x14], ebx
lea ecx, [ecx]
mov ecx, dword [edi + 4]
dec ecx
mov esi, 5
mov dword [esp + 0x20], esi
push 0x28
cmp ebx, ecx
jne 0x478d23
call fcn.00511699
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], 4
test eax, eax
je 0x478d57
mov ecx, dword [esp + 0x38]
push 0
push 0
push 0
lea edx, [esp + 0x2c]
push edx
push ecx
mov ecx, eax
call fcn.0046b3f0
jmp 0x478d59
test ebp, ebp
je 0x478ce3
mov ecx, ebp
call fcn.00450110
push ebp
call fcn.0051163f
add esp, 4
push ebx
call fcn.004a2fd0
jmp 0x478e33
lea ecx, [esp + 0x20]
call fcn.0044ea50
lea ecx, [esp + 0x40]
call fcn.0044ea50
test ebp, ebp
je 0x478d14
mov ecx, ebp
call fcn.00450110
push ebp
call fcn.0051163f
add esp, 4
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004a2fd0
jmp 0x478e33
call fcn.00511699
mov ecx, eax
add esp, 4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x58], esi
test ecx, ecx
je 0x478d57
mov eax, dword [ebp + ebx*4 + 4]
sub eax, dword [ebp + ebx*4]
cdq
push edx
push eax
mov eax, dword [esp + 0x40]
push 1
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.0046b3f0
jmp 0x478d59
xor eax, eax
push 0x38
mov ebp, eax
mov dword [esp + 0x5c], 0xffffffff
call fcn.00511699
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x58], 6
test esi, esi
je 0x478dc2
push 0xa0
call fcn.00511699
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x58], 7
test eax, eax
je 0x478da8
mov ecx, dword [esp + 0x60]
push ebp
push ecx
mov ecx, eax
call fcn.0044a3f0
jmp 0x478daa
xor eax, eax
mov edx, dword [esp + 0x60]
push 0
push eax
push edx
mov ecx, esi
mov byte [esp + 0x64], 6
call fcn.00450010
mov esi, eax
jmp 0x478dc4
xor esi, esi
mov eax, dword [edi + 8]
add eax, dword [esp + 0x14]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov ecx, esi
mov dword [esp + 0x78], 0xffffffff
call fcn.00450380
lea esp, [esp]
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
cmp eax, 0xffffffff
jne 0x478df0
test esi, esi
je 0x478e13
mov ecx, esi
call fcn.00450110
push esi
call fcn.0051163f
add esp, 4
add dword [esp + 0x14], 0x10
mov ebp, dword [esp + 0x64]
inc ebx
cmp ebx, dword [edi + 4]
jl 0x478c80
push ebp
call fcn.004a2fd0
mov dword [edi + 0x10], 1
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
add esp, 4
call eax
lea ecx, [esp + 0x30]
call fcn.0044ea50
mov eax, edi
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret 8