Function at 0x46d510
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5e0
push ebx
push ecx
push edx
push edi
push 0x28
call fcn.004768c5
call fcn.00472d2d
cmp word [esi], 0x29
jne 0x46d539
add esi, 2
xor eax, eax
jmp 0x46d7ab
lea edi, [ebp - 0x5d8]
mov ecx, 0x160
xor eax, eax
rep stosd dword es:[edi], eax
xor ebx, ebx
lea edi, [ebp - 0x58]
push edi
mov ecx, 0x16
xor eax, eax
rep stosd dword es:[edi], eax
pop edi
call fcn.0047452b
mov dword [ebp - 0x5dc], 0
push 0x404080
push 0x467210
call dword [sym.imp.kernel32.dll_lstrcmpiW]
cmp eax, 0
jne 0x46d58b
mov dword [ebp - 0x5dc], 1
call fcn.0047452b
call fcn.00472d2d
cmp dword [0x405198], 9
je 0x46d5a2
cmp dword [0x405198], 0xa
jne 0x46d5fe
cmp word [esi], 0x5d
jne 0x46d5fe
lea edx, [ebp - 0x5e0]
push edx
call fcn.00475897
mov edx, dword [0x405198]
mov dword [edi + 0x40], edx
mov edx, dword [eax + 0x48]
mov dword [edi + 0x48], edx
mov edx, dword [eax + 0x4c]
mov dword [edi + 0x4c], edx
mov edx, dword [eax + 0x50]
mov dword [edi + 0x50], edx
mov edx, dword [eax + 0x44]
cmp dword [ebp - 0x5dc], 1
jne 0x46d5e0
mov dword [edi + 0x54], eax
jmp 0x46d5f9
push edx
call fcn.0046bf76
mov ecx, eax
push ecx
call fcn.0046bf2c
push ecx
push edx
push eax
call fcn.0046bfcb
mov dword [edi + 0x44], eax
jmp 0x46d75d
cmp dword [0x405198], 3
je 0x46d630
cmp dword [0x405198], 0xb
je 0x46d630
cmp dword [0x405198], 8
jne 0x46d627
cmp eax, 0xe1
jl 0x46d627
cmp eax, 0xf4
jle 0x46d630
cmp dword [0x405198], 0xa
jne 0x46d687
cmp dword [ebp - 0x5dc], 1
jne 0x46d660
cmp dword [0x405198], 3
jne 0x46d647
jmp 0x405129
call fcn.0046c431
cmp eax, 0
jne 0x46d658
push 0
call fcn.0046c773
cmp eax, 0
je 0x46d660
mov dword [edi + 0x54], eax
mov esi, dword [0x4051d8]
lea edx, [ebp - 0x5e0]
push edx
call fcn.0046ebe3
mov eax, dword [ebp - 0x5e0]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], 0xb
jmp 0x46d75d
cmp dword [0x405198], 0xd
jne 0x46d70b
cmp word [esi], 0x5d
jne 0x46d70b
add esi, 2
call fcn.00476f3e
pushal
mov esi, eax
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x5dc], 1
je 0x46d708
lea ebx, [ebp - 0x58]
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x46d708
push eax
call fcn.0046bf2c
mov dword [0x405208], eax
mov edi, eax
mov esi, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x4c]
imul ecx, dword [ebx + 0x48]
push ecx
push esi
push edi
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ecx
cmp dword [esi + 0x40], 0xb
jne 0x46d6ef
push dword [esi + 0x44]
call fcn.00472ced
jmp 0x46d6f2
mov eax, dword [esi + 0x44]
mov dword [edi + 0x44], eax
add esi, 0x58
add edi, 0x58
sub ecx, 1
jne 0x46d6d2
mov eax, dword [0x405208]
mov dword [ebx + 0x44], eax
popal
jmp 0x46d75d
cmp dword [ebp - 0x5dc], 1
jne 0x46d73b
cmp dword [0x405198], 5
je 0x46d722
jmp 0x405129
call fcn.0046c431
cmp eax, 0
jne 0x46d733
push 0
call fcn.0046c7cf
cmp eax, 0
je 0x46d73b
mov dword [edi + 0x54], eax
mov esi, dword [0x4051d8]
lea edx, [ebp - 0x5e0]
push edx
call fcn.00475ad4
mov eax, dword [ebp - 0x5e0]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], 5
imul eax, ebx, 0x58
lea edx, [ebp - 0x5d8]
add eax, edx
push 0x58
push edi
push eax
call fcn.0046bfcb
add ebx, 1
call fcn.00472d2d
cmp word [esi], 0x2c
jne 0x46d787
add esi, 2
jmp 0x46d54d
push 0x29
call fcn.004768c5
mov ecx, ebx
lea edx, [ebp - 0x5d8]
sub ecx, 1
imul eax, ecx, 0x58
add eax, edx
push eax
call fcn.0046d89b
sub ecx, 1
jge 0x46d799
mov eax, ebx
pop edi
pop edx
pop ecx
pop ebx
leave
ret