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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ca99b
mov eax, dword fs:[0]
push eax
sub esp, 0x880
mov eax, dword [0x522d80]
xor eax, esp
mov dword [esp + 0x878], eax
push ebx
push esi
push edi
mov eax, dword [0x522d80]
xor eax, esp
push eax
lea eax, [esp + 0x890]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor edx, edx
mov esi, ecx
mov dword [esi + 0xc0], edx
mov al, byte [ebx]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp al, 0x61
jne 0x45fb51
movzx eax, byte [esi + 0xb4]
mov edi, 2
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
jmp 0x45fa00
movzx ecx, byte [ebx + edi]
movzx eax, byte [esi + 0xb6]
mov dword [esp + 0x20], ecx
cmp ecx, eax
jne 0x45fa19
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov al, byte [ebx + edi + 1]
inc edi
cmp al, byte [esi + 0xb5]
je 0x45fa67
mov cl, byte [esi + 0xb5]
lea esp, [esp]
cmp al, byte [esi + 0xb4]
jne 0x45fa42
inc dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x45fa5a
movzx edx, al
movzx eax, byte [esi + 0xb6]
mov dword [esp + 0x18], edx
cmp edx, eax
jne 0x45fa5a
xor edx, edx
mov dword [esp + 0x18], edx
mov al, byte [ebx + edi + 1]
inc edi
cmp al, cl
jne 0x45fa30
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x14]
add eax, edx
imul eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x24]
xor edx, edx
inc edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp ecx, 0x13
ja case.default.0x45fa8d
jmp dword [ecx*4 + 0x45ff10]
mov dword [esi + 0x10], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x1c], eax
jmp case.default.0x45fa8d
mov dword [esi + 8], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x34], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x38], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x20], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x14], eax
jmp case.default.0x45fa8d
mov dword [esi + 0xc], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x18], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x28], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x30], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x24], eax
jmp case.default.0x45fa8d
mov byte [esi + 0xac], al
jmp case.default.0x45fa8d
mov dword [esi + 0x3c], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x40], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x44], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x2c], eax
jmp case.default.0x45fa8d
mov dword [esi + 0x48], eax
jmp case.default.0x45fa8d
mov dword [esi + 4], eax
inc ecx
cmp ecx, 0x14
mov dword [esp + 0x24], ecx
jl 0x45fa00
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], edi
lea ecx, [ebx + edi]
add edi, eax
lea edx, [ebx + edi]
add edi, eax
test byte [esi + 0xac], 4
je 0x45fb24
lea eax, [ebx + edi]
add edi, dword [esi + 0x20]
jmp 0x45fb26
xor eax, eax
add edi, ebx
push edi
push eax
push ecx
push edx
push edi
mov ecx, esi
call fcn.0045f500
test eax, eax
jne 0x45fee3
mov ecx, dword [esi + 0x1c]
push ecx
push edi
lea ecx, [esi + 0x8c]
call fcn.0045f3e0
jmp 0x45fee3
cmp al, 0x62
jne 0x45fe8e
lea ecx, [esp + 0x38]
call fcn.0048e1b7
movzx edx, byte [ebx + 1]
movzx edi, byte [ebx + 2]
movzx eax, byte [ebx + 3]
movzx ecx, byte [ebx + 4]
shl edx, 8
or edi, edx
shl edi, 8
or edi, eax
shl edi, 8
or edi, ecx
push edi
push 0x40
mov dword [esp + 0x8a0], 0
mov dword [esp + 0x24], 5
call dword [0x4cf144]
push eax
mov dword [esp + 0x24], eax
call dword [0x4cf140]
push edi
add ebx, 5
push ebx
push eax
call fcn.00498550
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push ebx
call dword [0x4cf13c]
lea edx, [esp + 0x18]
push edx
push 1
push ebx
call dword [0x4cf5d0]
test eax, eax
je 0x45fc1e
push ebx
call dword [0x4cf138]
push 0
push 0
push str.COM__Picture_load_errer._1_
call fcn.00490b6f
lea eax, [esp + 0x74]
push str.COM__Picture_load_errer._1_
push eax
call fcn.0040c3a0
add esp, 8
mov ecx, 0x102
lea esi, [esp + 0x74]
lea edi, [esp + 0x47c]
rep movsd dword es:[edi], dword [esi]
push 0x4f8bc0
lea ecx, [esp + 0x480]
push ecx
call fcn.00497133
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
push 0x4df8fc
push 0
push edi
push eax
call dword [0x4cf384]
test eax, eax
je 0x45fc91
push ebx
call dword [0x4cf138]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push 0
push 0
push str.COM__Picture_load_errer._2_
call fcn.00490b6f
lea eax, [esp + 0x47c]
push str.COM__Picture_load_errer._2_
push eax
call fcn.0040c3a0
add esp, 8
mov ecx, 0x102
lea esi, [esp + 0x47c]
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
push 0x4f8bc0
lea ecx, [esp + 0x78]
push ecx
call fcn.00497133
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
lea ecx, [esp + 0x30]
push ecx
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
call fcn.0048dd99
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
push ecx
call dword [0x4cf558]
push eax
call fcn.0048e4d4
mov edx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
call fcn.00490c4f
push edi
lea ecx, [esp + 0x3c]
call fcn.0040b2c0
call fcn.0048dd99
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
mov edx, dword [edi + 4]
mov eax, dword [eax + 0x20]
push edx
push eax
call dword [0x4cf554]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], eax
mov dword [esp + 0x50], eax
imul eax, ecx
push 0
push 0
mov edx, 0x18
mov dword [esi + 0x10], ecx
mov word [esp + 0x5e], dx
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x3c]
push ecx
mov edx, 1
lea eax, [eax + eax*2]
mov word [esp + 0x60], dx
push 0
lea edx, [esp + 0x58]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
push edx
push eax
mov dword [esp + 0x60], 0x28
mov dword [esp + 0x70], 0
call dword [0x4cf084]
mov ecx, dword [esp + 0x3c]
mov edi, eax
push edi
push ecx
call dword [0x4cf088]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov ebx, ecx
push 0
neg ebx
push ebx
mov ebx, dword [esp + 0x38]
push ebx
mov edx, dword [edx + 0x20]
push ecx
mov ecx, dword [esp + 0x3c]
push 0
push ecx
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x58]
push 0
push 0
push ecx
push eax
call edx
test eax, eax
je 0x45fe29
lea ecx, [esp + 0x38]
call fcn.0048e551
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
push eax
call dword [0x4cf138]
push edi
call dword [0x4cf080]
push 0
push 0
push str.COM__Picture_load_errer._3_
call fcn.00490b6f
lea ecx, [esp + 0x47c]
push str.COM__Picture_load_errer._3_
push ecx
call fcn.0040c3a0
add esp, 8
push 0x4f8bc0
lea edx, [esp + 0x78]
mov ecx, 0x102
lea esi, [esp + 0x480]
lea edi, [esp + 0x78]
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.00497133
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
push eax
push ecx
lea ecx, [esi + 0x8c]
call fcn.0045f3e0
lea ecx, [esp + 0x38]
mov byte [esi + 0xac], 0
call fcn.0048e551
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
push eax
call dword [0x4cf138]
push edi
call dword [0x4cf080]
lea ecx, [esp + 0x38]
mov dword [esp + 0x898], 0xffffffff
call fcn.0048e567
jmp 0x45fee3
cmp al, 0x63
jne 0x45fee3
movzx ecx, byte [ebx + 1]
movzx edi, byte [ebx + 2]
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or edi, ecx
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
lea ecx, [esi + 0x8c]
push edi
mov dword [esp + 0x20], 5
call fcn.0040c4b0
mov ecx, dword [esi + 0x8c]
push edi
add ebx, 5
push ebx
push ecx
call fcn.00498c80
add esp, 0xc
mov dword [esi + 0xc0], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x890]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x878]
xor ecx, esp
call fcn.00497565
mov esp, ebp
pop ebp
ret 8