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

Disassembly:
sub esp, 0x3a4
mov eax, dword [0xcf95d4]
push ebx
push ebp
mov ebp, ecx
mov ecx, dword [0xcf95d0]
push esi
mov esi, dword [sym.imp.USER32.dll_PtInRect]
push edi
push eax
xor edi, edi
push ecx
push 0x66c2f8
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
call esi
test eax, eax
je 0x54bc56
lea edx, [ebp + 0x1e0]
xor ebx, ebx
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x10]
xor esi, esi
mov eax, dword [0xcf95d4]
mov ecx, dword [0xcf95d0]
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x54ba3d
inc esi
add edi, 0x24
cmp esi, 7
jl 0x54ba1a
jmp 0x54ba41
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x10]
inc ebx
add ecx, 0xfc
cmp ebx, 4
mov dword [esp + 0x10], ecx
jl 0x54ba14
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x54ba6d
cmp eax, 4
jge 0x54ba6d
mov edx, dword [ebp + eax*4 + 0x1f20]
mov dword [esp + 0x18], edx
mov eax, dword [0xcf8558]
test eax, eax
je 0x54bac0
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x68], eax
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [eax + 0x78]
mov eax, dword [0x6d68cc]
mov dword [esp + 0x24], ecx
add edx, dword [esp + 0x18]
cmp edx, eax
jg 0x54c7a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, ebp
call fcn.0054b480
test eax, eax
je 0x54c7a0
mov eax, dword [0xcf8558]
test eax, eax
je 0x54c796
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0xe0]
mov dword [esp + 0xdc], eax
lea edx, [esp + 0xdc]
lea eax, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
push edx
lea ecx, [ebp + 0x1f74]
push eax
mov dword [esp + 0x24], 0
call fcn.0054e980
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
test ecx, ecx
mov dword [esp + 0x3c], edx
jle 0x54bbe7
mov ecx, dword [esp + 0x14]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x18]
add eax, ecx
lea eax, [eax + eax*8]
lea ebx, [ebp + eax*4 + 0x1f4]
mov ecx, dword [0xcf8558]
mov dl, byte [esp + 0x14]
mov al, byte [esp + 0x18]
mov dword [ebx - 4], ecx
mov byte [ebx], dl
mov byte [ebx + 1], al
mov ecx, dword [0xcf855c]
lea esi, [esp + 0xdc]
mov dword [ebx + 4], ecx
mov edx, dword [0xcf6510]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 8], edx
mov ax, word [0xcf64ec]
inc ecx
mov word [ebx + 0xc], ax
mov dword [esp + 0x1c], ecx
mov ecx, dword [0xcf8558]
lea edi, [esp + 0xe0]
mov dword [esp + 0xdc], ecx
mov ecx, 0x1c
lea edx, [esp + 0xdc]
lea eax, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
push edx
push eax
lea ecx, [ebp + 0x1f74]
add ebx, 0x24
call fcn.0054e980
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x78]
cmp ecx, edx
jl 0x54bb55
mov edx, dword [0xcf8558]
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x68], edx
lea eax, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [eax + 0x78]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov esi, dword [ebp + eax*4 + 0x1f20]
add esi, edx
mov dword [ebp + eax*4 + 0x1f20], esi
mov eax, dword [0x62d4c4]
add eax, 0x42
push eax
call fcn.00575a50
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3a4
ret
mov ecx, dword [0xcf95d4]
mov edx, dword [0xcf95d0]
push ecx
push edx
push 0x672768
call esi
test eax, eax
je 0x54c1f3
cmp dword [0xcf8560], edi
jne 0x54c7a0
mov ecx, dword [0xcf8558]
mov eax, 1
cmp ecx, eax
jl 0x54c7a0
cmp dword [ebp + 0x1f44], eax
jne 0x54c7a0
mov eax, dword [0xced050]
mov dword [esp + 0x10], eax
lea ecx, [eax + 7]
cmp eax, ecx
mov dword [esp + 0x38], ecx
jge 0x54bd18
lea eax, [eax + eax*8]
lea eax, [eax + eax*8]
shl eax, 2
mov dword [esp + 0x30], eax
mov ebx, eax
mov ecx, dword [esp + 0x30]
mov eax, ebx
xor esi, esi
sub eax, ecx
lea edi, [eax + ebp + 0x5d0]
mov eax, dword [0xcf95d4]
mov ecx, dword [0xcf95d0]
push eax
push ecx
push edi
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x54bcf5
inc esi
add edi, 0x24
cmp esi, 9
jl 0x54bcd2
jmp 0x54bd01
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
inc eax
add ebx, 0x144
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x54bcc1
mov eax, dword [0xcf8558]
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x68], eax
lea edx, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x28]
push edx
lea ecx, [ebp + 0x1f74]
push eax
mov dword [esp + 0x24], 0
call fcn.0054e980
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x78]
test ecx, ecx
mov dword [esp + 0x24], edx
jle 0x54beee
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + eax*8]
add eax, ecx
lea edx, [eax + eax*8]
lea eax, [ebp + edx*4 + 0x5e0]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x38]
cmp dword [ecx], 0
je 0x54be7f
mov edx, dword [0xcf8558]
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0xe0]
mov dword [esp + 0xdc], edx
lea eax, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x60]
push eax
xor ebx, ebx
push ecx
lea ecx, [ebp + 0x1f74]
mov dword [esp + 0x38], ebx
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x54c7a0
mov ecx, dword [ebp + 0x1f30]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x14]
cmp eax, edx
jne 0x54be22
mov eax, ecx
mov ecx, 9
cdq
idiv ecx
mov eax, dword [esp + 0x10]
add edx, ebx
cmp eax, edx
jne 0x54be22
mov dword [esp + 0x30], 1
mov edx, dword [0xcf8558]
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0xe0]
mov dword [esp + 0xdc], edx
lea eax, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x60]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
inc ebx
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
cmp ebx, ecx
jl 0x54bde8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x54c7a0
cmp dword [esp + 0x10], 8
jg 0x54c7a0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
mov edx, dword [0xcf8558]
inc ebx
add eax, 0x24
inc edi
mov ecx, 0x1c
mov dword [esp + 0x10], edi
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
mov dword [esp + 0x24], ebx
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
cmp ebx, ecx
jl 0x54bd85
mov edx, dword [0xcf8558]
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x68], edx
lea eax, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
xor ebx, ebx
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x54c0c7
mov ecx, dword [ebp + 0x1f30]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 9
cdq
idiv ecx
lea edi, [esi + ebx]
lea eax, [edi + esi*8]
add edx, eax
mov eax, 0x38e38e39
lea ecx, [edx + edx*8]
mov dword [ebp + ecx*4 + 0x5e0], 0
mov ecx, dword [ebp + 0x1f30]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 9
cdq
idiv ecx
lea edi, [esi + ebx]
lea eax, [edi + esi*8]
add edx, eax
mov eax, 0x38e38e39
lea ecx, [edx + edx*8]
mov byte [ebp + ecx*4 + 0x5e4], 0xff
mov ecx, dword [ebp + 0x1f30]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 9
cdq
idiv ecx
lea edi, [esi + ebx]
lea eax, [edi + esi*8]
add edx, eax
mov eax, 0x38e38e39
lea ecx, [edx + edx*8]
mov byte [ebp + ecx*4 + 0x5e5], 0xff
mov ecx, dword [ebp + 0x1f30]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 9
cdq
idiv ecx
lea edi, [esi + ebx]
lea eax, [edi + esi*8]
add edx, eax
mov eax, 0x38e38e39
lea ecx, [edx + edx*8]
mov dword [ebp + ecx*4 + 0x5ec], 0
mov ecx, dword [ebp + 0x1f30]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 9
cdq
lea edi, [esi + ebx]
idiv ecx
lea eax, [edi + esi*8]
lea eax, [edx + eax + 0x2a]
lea ecx, [eax + eax*8]
mov eax, 0x38e38e39
mov dword [ebp + ecx*4], 0
mov ecx, dword [ebp + 0x1f30]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 9
cdq
idiv ecx
lea edi, [esi + ebx]
lea eax, [edi + esi*8]
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
add edx, eax
lea eax, [esp + 0x68]
push eax
inc ebx
lea ecx, [edx + edx*8]
mov word [ebp + ecx*4 + 0x5f0], 0
mov edx, dword [0xcf8558]
mov ecx, 0x1c
mov dword [esp + 0x6c], edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [ebp + 0x1f74]
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
cmp ebx, ecx
jl 0x54bf37
mov edx, dword [0xcf8558]
mov ecx, 0x1c
lea esi, [esp + 0xdc]
lea edi, [esp + 0x6c]
mov dword [esp + 0x68], edx
lea eax, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
mov dword [esp + 0x24], 0
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x54c1c1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
lea ecx, [edx + eax*8]
lea esi, [edx + eax*8]
add ecx, eax
mov dword [esp + 0x30], ecx
mov ecx, eax
add ecx, esi
lea ecx, [ecx + ecx*8]
lea ebx, [ebp + ecx*4 + 0x5e4]
jmp 0x54c142
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [0xcf8558]
lea esi, [esp + 0xdc]
mov dword [ebx - 4], ecx
mov cx, word [esp + 0x30]
mov byte [ebx], al
mov byte [ebx + 1], dl
mov edx, dword [0xcf855c]
lea edi, [esp + 0x6c]
mov dword [ebx + 4], edx
mov eax, dword [0xcf6510]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x1c]
mov word [ebx + 0xc], cx
mov edx, dword [0xcf8558]
inc eax
mov ecx, 0x1c
mov dword [esp + 0x68], edx
mov dword [esp + 0x1c], eax
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x28]
push eax
push ecx
lea ecx, [ebp + 0x1f74]
add ebx, 0x24
call fcn.0054e980
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x78]
cmp edx, ecx
jl 0x54c13a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
lea edx, [ecx + eax*8]
mov ecx, dword [0xcf8558]
lea esi, [eax + edx]
mov eax, dword [ebp + 0x1f30]
push esi
push eax
push ecx
call fcn.004e58f0
add esp, 0xc
mov ecx, ebp
push esi
call fcn.00548560
jmp 0x54c796
mov edx, dword [0xcf95d4]
mov eax, dword [0xcf95d0]
push edx
push eax
push 0x66aa28
call esi
test eax, eax
je 0x54c667
cmp dword [0xcf8558], edi
jle 0x54c796
mov eax, dword [0xcf2d34]
lea esi, [eax*8]
lea ecx, [eax*8 + 8]
cmp esi, ecx
jge 0x54c796
mov ebx, dword [sym.imp.USER32.dll_PtInRect]
lea edi, [ebp + esi*4]
mov edx, dword [0xcf95d4]
mov eax, dword [0xcf95d0]
mov ecx, dword [edi]
push edx
push eax
push ecx
call ebx
test eax, eax
jne 0x54c270
mov edx, dword [0xcf2d34]
inc esi
add edi, 4
lea eax, [edx*8 + 8]
cmp esi, eax
jl 0x54c240
jmp 0x54c796
mov edx, dword [ebp + esi*4]
mov ebx, dword [edx + 0x10]
test ebx, ebx
jne 0x54c2f1
mov ecx, dword [0xcf8558]
push ecx
mov ecx, ebp
call fcn.0054b960
test eax, eax
je 0x54c796
mov edx, dword [ebp + esi*4]
mov eax, dword [0xcf8558]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + esi*4]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp + esi*4]
mov dword [edx + 0x14], 1
mov eax, dword [ebp + esi*4]
mov cx, word [0xcf64ec]
mov word [eax + 0x6a], cx
mov edx, dword [0xcf64ec]
mov eax, dword [0xcf8558]
push edx
push esi
push eax
mov ecx, 0x68d9e0
call fcn.00404570
mov ecx, dword [0x62d4c4]
add ecx, 0x3e
push ecx
call fcn.00575a50
add esp, 4
jmp 0x54c796
mov eax, dword [edx + 0x1c]
cmp eax, 1
jne 0x54c4e9
mov eax, dword [ebp + 0x1f40]
test eax, eax
jl 0x54c496
cmp eax, 0x18
jg 0x54c496
mov eax, dword [ebp + 0x1f3c]
test eax, eax
je 0x54c496
mov eax, dword [0xcf8558]
mov edi, dword [edx + 0x14]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + esi*4]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp + esi*4]
mov dword [edx + 0x14], 1
mov eax, dword [ebp + esi*4]
mov cx, word [0xcf64ec]
mov word [eax + 0x6a], cx
mov edx, dword [0xcf64ec]
mov eax, dword [0xcf8558]
push edx
push esi
push eax
mov ecx, 0x68d9e0
call fcn.00404570
mov ecx, dword [ebp + 0x1f40]
lea esi, [esp + 0x150]
mov dword [esp + 0x280], ebx
mov edx, dword [ebp + ecx*4]
mov dword [edx + 0x10], ebx
mov eax, dword [ebp + 0x1f40]
mov ecx, dword [ebp + eax*4]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebp + 0x1f40]
mov eax, dword [ebp + edx*4]
mov dword [eax + 0x14], edi
mov ecx, dword [ebp + 0x1f40]
xor eax, eax
lea edi, [esp + 0x284]
mov edx, dword [ebp + ecx*4]
mov dword [esp + 0x1ca], eax
mov dword [esp + 0x1ce], eax
mov ecx, 0x4c
mov dword [esp + 0x1d2], eax
mov word [edx + 0x6a], 0
mov byte [esp + 0x1d6], al
lea edx, [esp + 0x28]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x280]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x80]
test ecx, 0x100000
mov dword [esp + 0x24], edx
je 0x54c480
xor eax, eax
mov ecx, 0x4c
mov dword [esp + 0x1ca], eax
lea esi, [esp + 0x150]
mov dword [esp + 0x1ce], eax
lea edi, [esp + 0x284]
mov dword [esp + 0x1d2], eax
mov dword [esp + 0x280], ebx
mov byte [esp + 0x1d6], al
lea edx, [esp + 0x28]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x280]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
push 0
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 0x1f40]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x118]
push ecx
push edx
jmp 0x54c5a8
mov eax, dword [ebp + 0x1f40]
mov ecx, 0x68d9e0
push eax
call fcn.00404520
jmp 0x54c5b2
xor eax, eax
mov ecx, 0x12
lea edi, [edx + 0x20]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov word [edx + 0x6a], ax
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov edx, dword [ebp + esi*4]
mov eax, dword [0xcf8558]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + esi*4]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp + esi*4]
mov dword [edx + 0x14], 1
mov eax, dword [ebp + esi*4]
mov cx, word [0xcf64ec]
mov word [eax + 0x6a], cx
jmp 0x54c796
cmp eax, 2
jne 0x54c63a
mov eax, dword [ebp + 0x1f40]
test eax, eax
jl 0x54c5cf
cmp eax, 0x18
jg 0x54c5cf
mov eax, dword [ebp + 0x1f3c]
test eax, eax
je 0x54c5cf
mov eax, dword [0xcf8558]
xor edi, edi
mov di, word [edx + 0x6a]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + esi*4]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp + esi*4]
mov dword [edx + 0x14], 1
mov eax, dword [ebp + esi*4]
mov cx, word [0xcf64ec]
mov word [eax + 0x6a], cx
mov edx, dword [0xcf64ec]
mov eax, dword [0xcf8558]
push edx
push esi
push eax
mov ecx, 0x68d9e0
call fcn.00404570
mov ecx, dword [ebp + 0x1f40]
push edi
mov edx, dword [ebp + ecx*4]
mov dword [edx + 0x10], ebx
mov eax, dword [ebp + 0x1f40]
mov ecx, dword [ebp + eax*4]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp + 0x1f40]
mov eax, dword [ebp + edx*4]
mov dword [eax + 0x14], 1
mov ecx, dword [ebp + 0x1f40]
mov edx, dword [ebp + ecx*4]
mov word [edx + 0x6a], di
mov eax, dword [ebp + 0x1f40]
push eax
push ebx
mov ecx, 0x68d9e0
call fcn.00404570
mov ecx, dword [0x62d4c4]
add ecx, 0x3e
push ecx
call fcn.00575a50
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3a4
ret
xor eax, eax
mov ecx, 0x12
lea edi, [edx + 0x20]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov word [edx + 0x6a], ax
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov edx, dword [ebp + esi*4]
mov eax, dword [0xcf8558]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp + esi*4]
mov dword [ecx + 0x1c], 2
mov edx, dword [ebp + esi*4]
mov dword [edx + 0x14], 1
mov eax, dword [ebp + esi*4]
mov cx, word [0xcf64ec]
mov word [eax + 0x6a], cx
mov edx, dword [0xcf64ec]
mov eax, dword [0xcf8558]
push edx
push esi
push eax
mov ecx, 0x68d9e0
call fcn.00404570
jmp 0x54c796
xor eax, eax
mov ecx, 0x12
lea edi, [edx + 0x20]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov word [edx + 0x6a], ax
rep stosd dword es:[edi], eax
push esi
mov ecx, 0x68d9e0
stosb byte es:[edi], al
call fcn.00404520
jmp 0x54c796
mov eax, dword [ebp + 0x1f44]
mov ebx, 1
cmp eax, ebx
jne 0x54c796
cmp dword [0xcf8558], edi
je 0x54c796
mov ecx, ebp
call fcn.0054ca60
test eax, eax
je 0x54c70a
mov ecx, dword [0xcf8558]
mov edx, dword [ebp + 0x1f50]
mov eax, dword [ebp + 0x1f54]
mov dword [ebp + 0x1f48], ecx
mov ecx, 5
mov esi, 0x66c53c
lea edi, [esp + 0x40]
mov dword [ebp + 0x1f58], edx
mov dword [ebp + 0x1f5c], eax
mov eax, dword [0xa4f274]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
movsw word es:[edi], word [esi]
mov dword [esp + 0x56], ecx
mov dword [esp + 0x5a], ecx
test eax, eax
mov word [esp + 0x5e], cx
je 0x54c6ed
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00586e90
add esp, 8
lea eax, [esp + 0x40]
push 0x3e8
push eax
call fcn.004fe420
add esp, 8
mov dword [ebp + 0x1f4c], ebx
jmp 0x54c796
mov eax, dword [0x66c534]
mov ecx, dword [0x66c52c]
mov dword [esp + 0x48], eax
xor eax, eax
mov edx, dword [0x66c530]
mov dword [esp + 0x4f], eax
mov dword [esp + 0x53], eax
mov dword [esp + 0x40], ecx
mov cx, word [0x66c538]
mov dword [esp + 0x57], eax
mov dword [esp + 0x5b], eax
mov dword [esp + 0x44], edx
mov dl, byte [0x66c53a]
mov byte [esp + 0x5f], al
mov eax, dword [0xa4f274]
mov word [esp + 0x4c], cx
cmp eax, edi
mov byte [esp + 0x4e], dl
je 0x54c76a
lea ecx, [esp + 0x40]
push edi
push ecx
call fcn.00586e90
add esp, 8
lea edx, [esp + 0x40]
push edi
push edx
call fcn.004fe420
add esp, 8
mov dword [ebp + 0x1f4c], edi
mov dword [ebp + 0x1f44], edi
mov dword [ebp + 0x1f48], edi
mov dword [ebp + 0x1f58], edi
mov dword [ebp + 0x1f5c], edi
mov dword [0xcf8a50], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3a4
ret