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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x54c8fe
mov eax, dword fs:[0]
push eax
sub esp, 0x104
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b3720]
xor eax, esp
push eax
lea eax, [esp + 0x118]
mov dword fs:[0], eax
mov ebp, ecx
xor esi, esi
cmp dword [ebp + 0x84], esi
jne 0x483518
xor eax, eax
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c0]
mov ecx, dword [eax + 0x1c8]
test ecx, 0xc0000
jne 0x483530
xor ecx, ecx
jmp 0x483535
mov ecx, 1
mov dword [ebp + 0x1d0], ecx
movzx eax, byte [eax + 0x1cb]
and eax, 1
cmp ecx, esi
mov dword [ebp + 0x1d4], eax
jne 0x48355b
cmp eax, esi
jne 0x48355b
push esi
push 0x683
jmp 0x483561
push esi
push 0x67a
mov ecx, ebp
call fcn.00505278
mov ecx, eax
call fcn.00505414
fldz
fld qword [0x5beef8]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x48358f
fstp st(0)
call fcn.004295d0
fld qword [0x5beef8]
fld qword [0x58bd20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x483609
fstp st(0)
mov dword [ebp + 0xd10], 0x351
mov dword [ebp + 0xd14], 0x320
mov dword [ebp + 0xd18], 0x321
mov dword [ebp + 0xd1c], 0x324
mov dword [ebp + 0xd20], 0x325
mov dword [ebp + 0xd24], 0x322
mov dword [ebp + 0xd28], 0x323
mov dword [ebp + 0xd2c], 0x31f
mov dword [ebp + 0xd30], 0x327
mov dword [ebp + 0x1d8], 0x32
jmp 0x483805
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x483621
fstp st(0)
call fcn.004295d0
fld qword [0x5beef8]
fld qword [0x58c140]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x48369b
fstp st(0)
mov dword [ebp + 0xd10], 0x352
mov dword [ebp + 0xd14], 0x329
mov dword [ebp + 0xd18], 0x32e
mov dword [ebp + 0xd1c], 0x33d
mov dword [ebp + 0xd20], 0x342
mov dword [ebp + 0xd24], 0x333
mov dword [ebp + 0xd28], 0x338
mov dword [ebp + 0xd2c], 0x347
mov dword [ebp + 0xd30], 0x34c
mov dword [ebp + 0x1d8], 0x4b
jmp 0x483805
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x4836b3
fstp st(0)
call fcn.004295d0
fld qword [0x5beef8]
fcomp qword [0x58bc90]
fnstsw ax
test ah, 5
jp 0x483729
mov dword [ebp + 0xd10], 0x353
mov dword [ebp + 0xd14], 0x32a
mov dword [ebp + 0xd18], 0x32f
mov dword [ebp + 0xd1c], 0x33e
mov dword [ebp + 0xd20], 0x343
mov dword [ebp + 0xd24], 0x334
mov dword [ebp + 0xd28], 0x339
mov dword [ebp + 0xd2c], 0x348
mov dword [ebp + 0xd30], 0x34d
mov dword [ebp + 0x1d8], 0x64
jmp 0x483805
call fcn.00429650
fcomp qword [0x58c138]
fnstsw ax
test ah, 5
jp 0x4837a1
mov dword [ebp + 0xd10], 0x354
mov dword [ebp + 0xd14], 0x32b
mov dword [ebp + 0xd18], 0x330
mov dword [ebp + 0xd1c], 0x33f
mov dword [ebp + 0xd20], 0x344
mov dword [ebp + 0xd24], 0x335
mov dword [ebp + 0xd28], 0x33a
mov dword [ebp + 0xd2c], 0x349
mov dword [ebp + 0xd30], 0x34e
mov dword [ebp + 0x1d8], 0x7d
jmp 0x483805
mov dword [ebp + 0xd10], 0x355
mov dword [ebp + 0xd14], 0x32c
mov dword [ebp + 0xd18], 0x331
mov dword [ebp + 0xd1c], 0x340
mov dword [ebp + 0xd20], 0x345
mov dword [ebp + 0xd24], 0x336
mov dword [ebp + 0xd28], 0x33b
mov dword [ebp + 0xd2c], 0x34a
mov dword [ebp + 0xd30], 0x34f
mov dword [ebp + 0x1d8], 0x96
cmp dword [ebp + 0x8c], esi
je 0x48385a
mov eax, dword [ebp + 0x8c]
cmp eax, esi
je 0x48385a
push eax
mov dword [ebp + 0x8c], esi
mov dword [ebp + 0x90], esi
mov dword [ebp + 0x94], esi
mov dword [ebp + 0x98], esi
mov dword [ebp + 0xa0], esi
mov dword [ebp + 0x9c], esi
mov dword [ebp + 0xa8], 0xffffffff
mov byte [ebp + 0xa5], 0
mov byte [ebp + 0xa4], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.00506c00
mov eax, dword [eax + 8]
push esi
lea ecx, [ebp + 0x88]
push 0x2b7
push ecx
call fcn.004616a0
lea edi, [ebp + 0x24c]
cmp edi, esi
je 0x4838b9
fld qword [0x5b65b8]
fmul qword [0x58bee0]
call fcn.005296d0
push 0x56c5e4
push 0x20
push esi
push esi
push esi
push 1
push esi
push esi
push esi
push 0x1f4
push esi
push esi
push esi
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push eax
mov ecx, edi
call fcn.005079bd
cmp edi, esi
jne 0x4838bd
xor eax, eax
jmp 0x4838c0
mov eax, dword [edi + 4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push eax
mov eax, dword [ebp + 0x274]
push 0x30
push eax
call ebx
push 0
lea esi, [ebp + 0x254]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x4838ee
xor eax, eax
jmp 0x4838f1
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x32c]
push 0
push eax
push 0x30
push ecx
call ebx
push 0
lea esi, [ebp + 0x30c]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x483919
xor eax, eax
jmp 0x48391c
mov eax, dword [edi + 4]
mov edx, dword [ebp + 0x3e4]
push 0
push eax
push 0x30
push edx
call ebx
push 0
lea esi, [ebp + 0x3c4]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x483944
xor eax, eax
jmp 0x483947
mov eax, dword [edi + 4]
push 0
push eax
mov eax, dword [ebp + 0x49c]
push 0x30
push eax
call ebx
push 0
lea esi, [ebp + 0x47c]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x48396f
xor eax, eax
jmp 0x483972
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x554]
push 0
push eax
push 0x30
push ecx
call ebx
push 0
lea esi, [ebp + 0x534]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x48399a
xor eax, eax
jmp 0x48399d
mov eax, dword [edi + 4]
mov edx, dword [ebp + 0x60c]
push 0
push eax
push 0x30
push edx
call ebx
push 0
lea esi, [ebp + 0x5ec]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x4839c5
xor eax, eax
jmp 0x4839c8
mov eax, dword [edi + 4]
push 0
push eax
mov eax, dword [ebp + 0x6c4]
push 0x30
push eax
call ebx
push 0
lea esi, [ebp + 0x6a4]
push 0xdd
call fcn.004b0830
test edi, edi
jne 0x4839f0
xor eax, eax
jmp 0x4839f3
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0x77c]
push 0
push eax
push 0x30
push ecx
call ebx
push 0
lea esi, [ebp + 0x75c]
push 0xdd
call fcn.004b0830
test edi, edi
je 0x483a1a
mov edi, dword [edi + 4]
mov edx, dword [ebp + 0x834]
push 0
push edi
push 0x30
push edx
call ebx
push 0
lea esi, [ebp + 0x814]
push 0xdd
call fcn.004b0830
mov eax, dword [ebp + 0x1dc]
mov edx, dword [eax + 0x134]
lea ecx, [ebp + 0x1dc]
push 0
push ebp
call edx
push 5
lea ecx, [ebp + 0x254]
call fcn.00505414
mov eax, dword [ebp + 0x274]
mov edi, dword [sym.imp.USER32.dll_RedrawWindow]
push 0x105
push 0
push 0
push eax
call edi
push 5
lea ecx, [ebp + 0x30c]
call fcn.00505414
mov ecx, dword [ebp + 0x32c]
push 0x105
push 0
push 0
push ecx
call edi
push 5
lea ecx, [ebp + 0x3c4]
call fcn.00505414
mov edx, dword [ebp + 0x3e4]
push 0x105
push 0
push 0
push edx
call edi
push 5
lea ecx, [ebp + 0x47c]
call fcn.00505414
mov eax, dword [ebp + 0x49c]
push 0x105
push 0
push 0
push eax
call edi
push 0
lea ecx, [ebp + 0x534]
call fcn.00505414
mov ecx, dword [ebp + 0x554]
push 0x105
push 0
push 0
push ecx
call edi
push 0
lea ecx, [ebp + 0x5ec]
call fcn.00505414
mov edx, dword [ebp + 0x60c]
push 0x105
push 0
push 0
push edx
call edi
push 5
lea ecx, [ebp + 0x6a4]
call fcn.00505414
mov eax, dword [ebp + 0x6c4]
push 0x105
push 0
push 0
push eax
call edi
lea ecx, [ebp + 0x75c]
cmp dword [ebp + 0x1d4], 0
jne 0x483b73
push 5
call fcn.00505414
mov ecx, dword [ebp + 0x77c]
push 0x105
xor ebx, ebx
push ebx
push ebx
push ecx
call edi
push 5
mov ecx, esi
call fcn.00505414
mov edx, dword [ebp + 0x834]
push 0x105
push ebx
push ebx
push edx
call edi
jmp 0x483b85
push 0
call fcn.00505414
push 0
mov ecx, esi
call fcn.00505414
xor ebx, ebx
cmp dword [ebp + 0x1d0], ebx
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
je 0x483db4
lea eax, [ebp + 0x30c]
cmp eax, ebx
je 0x483bbe
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x84]
push ecx
push edx
call esi
lea eax, [esp + 0x84]
push eax
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x254]
cmp eax, ebx
je 0x483bdf
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x34]
push ecx
push edx
call esi
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x47c]
cmp eax, ebx
je 0x483c06
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0xf4]
push ecx
push edx
call esi
lea eax, [esp + 0xf4]
push eax
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x3c4]
cmp eax, ebx
je 0x483c27
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x1c]
push ecx
push edx
call esi
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x8cc]
cmp eax, ebx
je 0x483c48
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x74]
push ecx
push edx
call esi
lea eax, [esp + 0x74]
push eax
mov ecx, ebp
call fcn.0050743c
mov edx, dword [ebp + 0x1d8]
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
sub edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
add edx, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
push 0x14
push ecx
push edx
push ebx
push esi
push 0
lea ecx, [ebp + 0x5ec]
call fcn.00505623
mov eax, dword [ebp + 0x1d8]
mov ecx, dword [esp + 0x100]
sub ecx, dword [esp + 0xf8]
mov edx, eax
sub edx, dword [esp + 0xf4]
sub eax, dword [esp + 0x1c]
add edx, dword [esp + 0xfc]
add eax, dword [esp + 0x24]
push 0x14
push ecx
push edx
push ebx
add eax, esi
push eax
push 0
lea ecx, [ebp + 0x534]
call fcn.00505623
mov edx, dword [esp + 0x80]
sub edx, dword [esp + 0x78]
mov ecx, dword [ebp + 0x1d8]
mov eax, dword [esp + 0x90]
sub ecx, dword [esp + 0x84]
sub eax, dword [esp + 0x88]
sub edx, dword [esp + 0x20]
add ecx, dword [esp + 0x8c]
add edx, dword [esp + 0x28]
push 0x14
push eax
push ecx
lea eax, [edx + ebx + 0xa]
push eax
push esi
push 0
lea ecx, [ebp + 0x6a4]
call fcn.00505623
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1d8]
push 0x14
push ecx
mov ecx, dword [esp + 0x88]
sub ecx, dword [esp + 0x80]
mov edx, eax
sub edx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x28]
add edx, dword [esp + 0x44]
sub eax, dword [esp + 0x24]
add ecx, dword [esp + 0x30]
add eax, dword [esp + 0x2c]
push edx
lea edx, [ecx + ebx + 0xa]
push edx
lea eax, [eax + esi + 0xa]
push eax
push 0
lea ecx, [ebp + 0x254]
call fcn.00505623
push 0
lea ecx, [ebp + 0x47c]
call fcn.00505414
push 0
lea ecx, [ebp + 0x3c4]
call fcn.00505414
push 0
lea ecx, [ebp + 0x30c]
call fcn.00505414
push 0
lea ecx, [ebp + 0x75c]
call fcn.00505414
push 0
lea ecx, [ebp + 0x814]
call fcn.00505414
push 5
lea ecx, [ebp + 0x534]
call fcn.00505414
push 5
lea ecx, [ebp + 0x5ec]
call fcn.00505414
xor ebx, ebx
mov ecx, dword [ebp + 0x2e0]
mov edx, dword [ebp + 0x274]
push 0x101
push ebx
push ebx
push edx
mov dword [ebp + 0x2e4], ecx
mov dword [ebp + 0x2e0], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483df0
mov ecx, dword [ebp + 0x274]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x398]
mov eax, dword [ebp + 0x32c]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x39c], edx
mov dword [ebp + 0x398], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483e2c
mov ecx, dword [ebp + 0x32c]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x450]
mov eax, dword [ebp + 0x3e4]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x454], edx
mov dword [ebp + 0x450], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483e68
mov ecx, dword [ebp + 0x3e4]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x508]
mov eax, dword [ebp + 0x49c]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x50c], edx
mov dword [ebp + 0x508], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483ea4
mov ecx, dword [ebp + 0x49c]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x5c0]
mov eax, dword [ebp + 0x554]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x5c4], edx
mov dword [ebp + 0x5c0], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483ee0
mov ecx, dword [ebp + 0x554]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x678]
mov eax, dword [ebp + 0x60c]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x67c], edx
mov dword [ebp + 0x678], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483f1c
mov ecx, dword [ebp + 0x60c]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x730]
mov eax, dword [ebp + 0x6c4]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x734], edx
mov dword [ebp + 0x730], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483f58
mov ecx, dword [ebp + 0x6c4]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x7e8]
mov eax, dword [ebp + 0x77c]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x7ec], edx
mov dword [ebp + 0x7e8], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483f94
mov ecx, dword [ebp + 0x77c]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0x8a0]
mov eax, dword [ebp + 0x834]
push 0x101
push ebx
push ebx
push eax
mov dword [ebp + 0x8a4], edx
mov dword [ebp + 0x8a0], ebx
call edi
mov eax, dword [0x5bda24]
cmp eax, ebx
je 0x483fd0
mov ecx, dword [ebp + 0x834]
push ebx
push 0xfffffffffffffffc
push ecx
push 0x800a
call eax
mov edx, dword [ebp + 0xd14]
lea edi, [ebp + 0x88]
push edi
lea esi, [ebp + 0x968]
push edx
call fcn.004b0830
push 0
push 0
mov ebx, 1
push 0x400000
mov ecx, esi
mov dword [ebp + 0x9f8], ebx
call fcn.00505350
call fcn.004b0bf0
mov eax, dword [ebp + 0xd1c]
push edi
lea esi, [ebp + 0xa04]
push eax
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xa94], ebx
call fcn.00505350
call fcn.004b0bf0
mov ecx, dword [ebp + 0xd24]
push edi
lea esi, [ebp + 0xaa0]
push ecx
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xb30], ebx
call fcn.00505350
call fcn.004b0bf0
mov edx, dword [ebp + 0xd24]
push edi
lea ebx, [ebp + 0xb3c]
push edx
mov esi, ebx
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, ebx
mov dword [ebp + 0xbcc], 1
call fcn.00505350
call fcn.004b0bf0
mov eax, dword [ebp + 0xd24]
push edi
lea esi, [ebp + 0xbd8]
push eax
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xc68], 1
call fcn.00505350
call fcn.004b0bf0
mov ecx, dword [ebp + 0xd2c]
lea eax, [ebp + 0x88]
push eax
lea edi, [ebp + 0xc74]
push ecx
mov esi, edi
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, edi
mov dword [ebp + 0xd04], 1
call fcn.00505350
call fcn.004b0bf0
push 0
lea ecx, [ebp + 0xbd8]
call fcn.00505414
push 0
mov ecx, ebx
call fcn.00505414
lea ecx, [ebp + 0x8cc]
push 0
call fcn.00505414
cmp dword [ebp + 0x1d0], 0
je 0x484402
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp + 0x5ec]
test eax, eax
je 0x48415c
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x34]
push edx
push eax
call esi
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x534]
test eax, eax
je 0x48417d
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x74]
push edx
push eax
call esi
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x6a4]
test eax, eax
je 0x4841a4
mov eax, dword [eax + 0x20]
lea edx, [esp + 0xf4]
push edx
push eax
call esi
lea ecx, [esp + 0xf4]
push ecx
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x254]
test eax, eax
je 0x4841cb
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x84]
push edx
push eax
call esi
lea ecx, [esp + 0x84]
push ecx
mov ecx, ebp
call fcn.0050743c
lea eax, [ebp + 0x8cc]
test eax, eax
je 0x4841ec
mov eax, dword [eax + 0x20]
lea edx, [esp + 0x1c]
push edx
push eax
call esi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.0050743c
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
push 0x14
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push ecx
push eax
lea esi, [ebp + 0xbd8]
push 0
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.00505623
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
sub ecx, dword [esp + 0x38]
sub eax, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
push 0x14
push edx
mov edx, dword [esp + 0x7c]
push eax
push ecx
push edx
push 0
mov ecx, ebx
call fcn.00505623
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push 0x14
mov edx, eax
sub edx, ecx
push edx
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x4c]
sub edx, dword [esp + 0x44]
lea edx, [edx + edx + 0xa]
sub edx, ecx
add edx, eax
add edx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
push edx
push eax
push 0
mov ecx, edi
call fcn.00505623
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push 0x14
mov edx, eax
sub edx, ecx
push edx
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x4c]
sub edx, dword [esp + 0x44]
lea edx, [edx + edx + 0xa]
sub edx, ecx
add edx, eax
add edx, dword [esp + 0x24]
mov eax, dword [esp + 0x90]
push edx
push eax
push 0
lea ecx, [ebp + 0x8cc]
call fcn.00505623
push 0
lea ecx, [ebp + 0xa04]
call fcn.00505414
push 0
lea ecx, [ebp + 0xaa0]
call fcn.00505414
push 0
lea ecx, [ebp + 0x968]
call fcn.00505414
mov ecx, dword [ebp + 0xd28]
lea eax, [ebp + 0x88]
push eax
push ecx
call fcn.004b0830
push 0
push 0
lea esi, [ebp + 0xbd8]
push 0x400000
mov ecx, esi
mov dword [ebp + 0xc68], 1
call fcn.00505350
call fcn.004b0bf0
mov edx, dword [ebp + 0xd28]
lea eax, [ebp + 0x88]
push eax
push edx
mov esi, ebx
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, ebx
mov dword [ebp + 0xbcc], 1
call fcn.00505350
call fcn.004b0bf0
lea eax, [ebp + 0x88]
push eax
mov eax, dword [ebp + 0xd2c]
push eax
mov esi, edi
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, edi
mov dword [ebp + 0xd04], 1
call fcn.00505350
call fcn.004b0bf0
mov ecx, dword [ebp + 0xd10]
lea eax, [ebp + 0x88]
push eax
push ecx
lea esi, [ebp + 0x8cc]
call fcn.004b0830
push 0
push 0
lea esi, [ebp + 0x8cc]
push 0x400000
mov ecx, esi
mov dword [ebp + 0x95c], 1
call fcn.00505350
call fcn.004b0bf0
push 5
lea ecx, [ebp + 0xbd8]
call fcn.00505414
push 5
mov ecx, ebx
call fcn.00505414
push 5
mov ecx, edi
call fcn.00505414
push 5
lea ecx, [ebp + 0x8cc]
call fcn.00505414
mov edx, dword [ebp + 0x1c4]
lea esi, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.00482580
cmp dword [esp + 0x18], 1
jne 0x4844f5
cmp dword [ebp + 0x1d0], 0
jne 0x4845e2
cmp dword [ebp + 0x1d4], 0
jne 0x4845e2
xor ecx, ecx
lea esi, [ebp + 0x75c]
call fcn.004b1600
mov ecx, 1
lea esi, [ebp + 0x814]
call fcn.004b1600
mov edx, dword [ebp + 0xd18]
lea ebx, [ebp + 0x88]
push ebx
push edx
lea esi, [ebp + 0x968]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0x9f8], 1
call fcn.00505350
mov eax, dword [ebp + 0xd20]
push ebx
push eax
lea esi, [ebp + 0xa04]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xa94], 1
call fcn.00505350
mov ecx, dword [ebp + 0xd28]
push ebx
push ecx
lea esi, [ebp + 0xaa0]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xb30], 1
call fcn.00505350
mov edx, dword [ebp + 0xd2c]
push ebx
push edx
jmp 0x4845c1
cmp dword [ebp + 0x1d0], 0
jne 0x4845e2
cmp dword [ebp + 0x1d4], 0
jne 0x4845e2
mov ecx, 1
lea esi, [ebp + 0x75c]
call fcn.004b1600
xor ecx, ecx
lea esi, [ebp + 0x814]
call fcn.004b1600
mov eax, dword [ebp + 0xd14]
lea ebx, [ebp + 0x88]
push ebx
push eax
lea esi, [ebp + 0x968]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0x9f8], 1
call fcn.00505350
mov ecx, dword [ebp + 0xd1c]
push ebx
push ecx
lea esi, [ebp + 0xa04]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xa94], 1
call fcn.00505350
mov edx, dword [ebp + 0xd24]
push ebx
push edx
lea esi, [ebp + 0xaa0]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xb30], 1
call fcn.00505350
mov eax, dword [ebp + 0xd2c]
push ebx
push eax
mov esi, edi
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, edi
mov dword [ebp + 0xd04], 1
call fcn.00505350
mov ecx, dword [ebp + 0x1c4]
call fcn.00482410
cmp dword [ebp + 0x1d0], 0
je 0x484d2e
test eax, eax
je 0x484622
cmp eax, 5
je 0x484d19
cmp eax, 4
jne 0x48466d
mov ecx, dword [ebp + 0x1c0]
test dword [ecx + 0x1c8], 0x80000
jne 0x484d19
mov ecx, 1
lea esi, [ebp + 0x254]
call fcn.004b1600
mov ecx, ebp
call fcn.00485000
push 0x50
mov dword [ebp + 0xd60], ebp
call fcn.004fe8de
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
mov dword [esp + 0x120], 0
je 0x484ef0
push eax
call fcn.004b8800
mov edi, eax
jmp 0x484ef2
cmp eax, 3
jne 0x484622
xor eax, eax
mov edi, dword [ebp + 0x1c4]
push 1
push 0x569f78
lea ecx, [esp + 0x5c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x569fc8
lea ecx, [esp + 0xcc]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x56a004
lea ecx, [esp + 0x9c]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x569f8c
lea ecx, [esp + 0x6c]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x569fdc
lea ecx, [esp + 0xec]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x56a018
lea ecx, [esp + 0xac]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x569fa0
lea ecx, [esp + 0x4c]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x569ff0
lea ecx, [esp + 0xbc]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov edi, dword [ebp + 0x1c4]
push 1
push 0x56a02c
lea ecx, [esp + 0xdc]
call fcn.004b95c0
test eax, eax
je 0x484ca6
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0x5c]
cmp edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x110], edx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], 0
jne 0x484aa4
cmp ecx, dword [esp + 0xac]
jne 0x484aa4
cmp eax, dword [esp + 0xdc]
jne 0x484aa4
cmp edx, 4
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x60]
jb 0x484904
mov eax, dword [edi]
cmp eax, dword [esi]
jne 0x484908
sub edx, 4
add esi, 4
add edi, 4
cmp edx, 4
jae 0x4848f0
test edx, edx
je 0x484965
movzx eax, byte [edi]
movzx ebx, byte [esi]
sub eax, ebx
jne 0x484957
sub edx, 1
add esi, 1
add edi, 1
test edx, edx
je 0x484965
movzx eax, byte [edi]
movzx ebx, byte [esi]
sub eax, ebx
jne 0x484957
sub edx, 1
add esi, 1
add edi, 1
test edx, edx
je 0x484965
movzx eax, byte [edi]
movzx ebx, byte [esi]
sub eax, ebx
jne 0x484957
sub edx, 1
add esi, 1
add edi, 1
test edx, edx
je 0x484965
movzx eax, byte [edi]
movzx edx, byte [esi]
sub eax, edx
je 0x484965
test eax, eax
mov edx, 1
jg 0x484967
or edx, 0xffffffff
jmp 0x484967
xor edx, edx
test edx, edx
jne 0x484aa4
cmp ecx, 4
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x70]
jb 0x484994
nop
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x484998
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x484980
test ecx, ecx
je 0x4849f5
movzx eax, byte [edx]
movzx edi, byte [esi]
sub edi, eax
jne 0x4849e7
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x4849f5
movzx eax, byte [edx]
movzx edi, byte [esi]
sub edi, eax
jne 0x4849e7
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x4849f5
movzx eax, byte [edx]
movzx edi, byte [esi]
sub edi, eax
jne 0x4849e7
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x4849f5
movzx ecx, byte [edx]
movzx edi, byte [esi]
sub edi, ecx
je 0x4849f5
test edi, edi
mov eax, 1
jg 0x4849f7
or eax, 0xffffffff
jmp 0x4849f7
xor eax, eax
test eax, eax
jne 0x484aa4
mov eax, dword [esp + 0x4c]
cmp eax, 4
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x50]
jb 0x484a27
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x484a2b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x484a13
test eax, eax
je 0x484a88
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x484a7a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484a88
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x484a7a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484a88
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x484a7a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484a88
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x484a88
test esi, esi
mov eax, 1
jg 0x484a8a
or eax, 0xffffffff
jmp 0x484a8a
xor eax, eax
test eax, eax
jne 0x484aa4
lea ecx, [eax + 1]
lea esi, [ebp + 0x534]
call fcn.004b1600
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x110]
cmp eax, dword [esp + 0x104]
jne 0x484c9f
mov edi, dword [esp + 0x10c]
cmp edi, dword [esp + 0x108]
jne 0x484c9f
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x2c]
jne 0x484c9f
cmp eax, 4
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x60]
jb 0x484b04
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x484b08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x484af0
test eax, eax
je 0x484b65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x484b57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484b65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x484b57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484b65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x484b57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484b65
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x484b65
test esi, esi
mov eax, 1
jg 0x484b67
or eax, 0xffffffff
jmp 0x484b67
xor eax, eax
test eax, eax
jne 0x484c9f
cmp edi, 4
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x70]
mov eax, edi
jb 0x484b95
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x484b99
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x484b81
test eax, eax
je 0x484bf6
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x484be8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484bf6
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x484be8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484bf6
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x484be8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484bf6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x484bf6
test esi, esi
mov eax, 1
jg 0x484bf8
or eax, 0xffffffff
jmp 0x484bf8
xor eax, eax
test eax, eax
jne 0x484c9f
mov eax, dword [esp + 0x18]
cmp eax, 4
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x50]
jb 0x484c28
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x484c2c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x484c14
test eax, eax
je 0x484c89
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x484c7b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484c89
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x484c7b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484c89
movzx edi, byte [ecx]
movzx esi, byte [edx]
sub esi, edi
jne 0x484c7b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x484c89
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x484c89
test esi, esi
mov eax, 1
jg 0x484c8b
or eax, 0xffffffff
jmp 0x484c8b
xor eax, eax
test eax, eax
jne 0x484c9f
lea ecx, [eax + 1]
lea esi, [ebp + 0x5ec]
call fcn.004b1600
jmp 0x484cbd
cmp dword [esp + 0x30], 0
jne 0x484cbd
mov ecx, 1
lea esi, [ebp + 0x254]
call fcn.004b1600
mov ecx, ebp
call fcn.00485000
mov esi, dword [sym.imp.ole32.dll_PropVariantClear]
lea ecx, [esp + 0x54]
push ecx
call esi
lea edx, [esp + 0xc4]
push edx
call esi
lea eax, [esp + 0x94]
push eax
call esi
lea ecx, [esp + 0x64]
push ecx
call esi
lea edx, [esp + 0xe4]
push edx
call esi
lea eax, [esp + 0xa4]
push eax
call esi
lea ecx, [esp + 0x44]
push ecx
call esi
lea edx, [esp + 0xb4]
push edx
call esi
lea eax, [esp + 0xd4]
push eax
call esi
jmp 0x484639
mov ecx, 1
lea esi, [ebp + 0x6a4]
call fcn.004b1600
jmp 0x484639
cmp dword [ebp + 0x1d4], 0
je 0x484e7e
test eax, eax
je 0x484d9f
cmp eax, 1
jne 0x484d55
mov ecx, eax
lea esi, [ebp + 0x30c]
call fcn.004b1600
push 1
jmp 0x484db8
cmp eax, 2
jne 0x484d6c
lea ecx, [eax - 1]
lea esi, [ebp + 0x3c4]
call fcn.004b1600
push 1
jmp 0x484db8
cmp eax, 3
jne 0x484d83
lea ecx, [eax - 2]
lea esi, [ebp + 0x47c]
call fcn.004b1600
push 1
jmp 0x484db8
cmp eax, 4
jne 0x484d9f
lea ecx, [eax - 3]
lea esi, [ebp + 0x6a4]
call fcn.004b1600
mov ecx, ebp
call fcn.00486730
jmp 0x484db6
mov ecx, 1
lea esi, [ebp + 0x254]
call fcn.004b1600
mov ecx, ebp
call fcn.00485000
push 0
mov esi, dword [ebp + 0x1c4]
call fcn.004825e0
mov ecx, dword [ebp + 0xd18]
lea ebx, [ebp + 0x88]
push ebx
push ecx
lea esi, [ebp + 0x968]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0x9f8], 1
call fcn.00505350
mov edx, dword [ebp + 0xd20]
push ebx
push edx
lea esi, [ebp + 0xa04]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xa94], 1
call fcn.00505350
mov eax, dword [ebp + 0xd28]
push ebx
push eax
lea esi, [ebp + 0xaa0]
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, esi
mov dword [ebp + 0xb30], 1
call fcn.00505350
mov ecx, dword [ebp + 0xd2c]
push ebx
push ecx
mov esi, edi
call fcn.004b0830
push 0
push 0
push 0x400000
mov ecx, edi
mov dword [ebp + 0xd04], 1
call fcn.00505350
jmp 0x484639
test eax, eax
je 0x484622
cmp eax, 1
jne 0x484e9d
mov ecx, eax
lea esi, [ebp + 0x30c]
call fcn.004b1600
jmp 0x484639
cmp eax, 2
jne 0x484eb5
lea ecx, [eax - 1]
lea esi, [ebp + 0x3c4]
call fcn.004b1600
jmp 0x484639
cmp eax, 3
jne 0x484ecd
lea ecx, [eax - 2]
lea esi, [ebp + 0x47c]
call fcn.004b1600
jmp 0x484639
cmp eax, 4
jne 0x484622
lea ecx, [eax - 3]
lea esi, [ebp + 0x6a4]
call fcn.004b1600
mov ecx, ebp
call fcn.00486730
jmp 0x484639
xor edi, edi
test edi, edi
mov dword [esp + 0x120], 0xffffffff
je 0x484f92
mov edx, dword [ebp + 0x1c4]
mov eax, dword [edx + 0x2c]
mov eax, dword [eax + 0x14]
push ecx
sub eax, 0x10
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.00402380
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [esi], eax
call fcn.004b89f0
push ecx
mov ecx, dword [ebp + 0x1c4]
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx + 0x1c]
sub eax, 0x10
mov dword [esp + 0x30], esp
mov esi, esp
push eax
call fcn.00402380
add eax, 0x10
add esp, 4
mov ecx, edi
mov dword [esi], eax
call fcn.004b81e0
push edi
mov ecx, 0x569f64
call fcn.004b8250
push edi
mov ecx, 0x569f78
call fcn.004b8250
push edi
mov ecx, 0x569f8c
call fcn.004b8250
push edi
mov ecx, 0x569fa0
call fcn.004b8250
lea ecx, [ebp + 0xd34]
call fcn.004ac280
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax]
add ebp, 0x78
push 0
push ebp
call ecx
mov eax, 1
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret