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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c4
mov edx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 8]
push ebx
push esi
mov dword [esp + 0xc], edx
movzx eax, word [ecx]
mov edx, dword [sym.imp.USER32.dll_GetWindowLongW]
mov byte [esp + 0x18], 0
mov dword [esp + 0x24], edx
push edi
mov edi, dword [ebp + 0xc]
test ax, ax
je 0x46b5f4
movss xmm0, dword [esp + 0x38]
mov edx, eax
mov eax, dword [sym.imp.USER32.dll_EnableWindow]
mov dword [esp + 0x48], eax
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [esp + 0x4c], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esp + 0x50], eax
mov eax, dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [esp + 0x58], eax
mov eax, dword [sym.imp.USER32.dll_GetClassInfoExW]
mov dword [esp + 0x60], eax
mov eax, dword [sym.imp.KERNEL32.DLL_MulDiv]
mov dword [esp + 0x40], eax
movss dword [esp + 0x38], xmm0
cmp dx, 0x2d
jne 0x46996c
xor bl, bl
jmp 0x469977
movzx eax, dx
mov bl, 1
cmp dx, 0x2b
jne 0x46997e
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
je 0x46b5f0
mov edi, ecx
movzx edx, ax
nop dword [eax]
cmp dx, 0x20
je 0x4699aa
cmp dx, 9
je 0x4699aa
movzx eax, word [edi + 2]
add edi, 2
mov edx, eax
test ax, ax
jne 0x469990
mov dword [esp + 0x3c], edi
cmp edi, ecx
mov edi, dword [ebp + 0xc]
je case.0x46ae0d.7
mov eax, dword [esp + 0x3c]
mov esi, 0x101
sub eax, ecx
sar eax, 1
inc eax
cmp eax, esi
cmovb esi, eax
lea eax, [esp + 0x68]
dec esi
push esi
push ecx
push eax
call fcn.004aa2f4
add esp, 0xc
xor eax, eax
mov word [esp + esi*2 + 0x68], ax
lea eax, [esp + 0x68]
push 0x4da138
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469a05
mov byte [edi + 0x18d], 1
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da148
push eax
call fcn.0049ed01
mov esi, dword [ebp + 0x10]
add esp, 8
test eax, eax
jne 0x469a41
cmp byte [esi + 0x30], 0xc
je 0x469a41
mov cl, byte [esi + 0x31]
mov al, cl
or cl, 2
and al, 0xfd
movzx ecx, cl
test bl, bl
movzx eax, al
cmove ecx, eax
mov byte [esi + 0x31], cl
jmp case.0x46ae0d.7
push 7
lea eax, [esp + 0x6c]
push 0x4da15c
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x469ace
lea eax, [esp + 0x76]
push 0x4da16c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469a7c
movzx eax, bl
add eax, eax
mov dword [edi + 0x68], eax
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0xa
jne 0x469a9a
mov ecx, dword [edi + 0x10]
mov eax, ecx
and eax, 0xfffffffb
or ecx, 4
test bl, bl
cmove ecx, eax
mov dword [edi + 0x10], ecx
jmp case.0x46ae0d.7
cmp word [esp + 0x76], 0
je 0x469ac3
lea ecx, [esp + 0x76]
call fcn.00481e30
mov dword [edi + 0x68], eax
cmp eax, 0xffffffff
jne case.0x46ae0d.7
mov dword [edi + 0x68], 2
jmp case.0x46ae0d.7
movzx eax, bl
mov dword [edi + 0x68], eax
jmp case.0x46ae0d.7
push 6
lea eax, [esp + 0x6c]
push 0x4d9a58
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x469b61
test bl, bl
je case.0x46ae0d.7
cmp byte [esi + 0x30], 0xd
je 0x469b15
lea ecx, [esp + 0x74]
call fcn.00481e30
mov dword [edi + 0x30], eax
cmp eax, 1
jge case.0x46ae0d.7
mov dword [edi + 0x30], 0
jmp case.0x46ae0d.7
lea eax, [esp + 0x74]
push 0x4da178
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469b38
mov eax, 2
mov dword [edi + 0x30], eax
jmp case.0x46ae0d.7
push 1
lea edx, [edi + 0x13c]
lea ecx, [esp + 0x78]
call fcn.00481270
add esp, 4
test eax, eax
je case.0x46b0e6.68
mov eax, 1
mov dword [edi + 0x30], eax
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da028
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469b92
test bl, bl
je 0x469b86
or dword [edi], 0x800000
jmp case.0x46ae0d.7
or dword [edi + 4], 0x800000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da184
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469bc3
test bl, bl
je 0x469bb7
or dword [edi], 0x200000
jmp case.0x46ae0d.7
or dword [edi + 4], 0x200000
jmp case.0x46ae0d.7
push 7
lea eax, [esp + 0x6c]
push 0x4da194
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x469c2f
cmp byte [esi + 0x30], 0xb
jne 0x469bf5
test bl, bl
je 0x46a112
or dword [edi + 4], 0x8000
jmp case.0x46ae0d.7
test bl, bl
je 0x469c23
or dword [edi], 0x100000
cmp word [esp + 0x76], 0
je 0x469c18
lea ecx, [esp + 0x76]
call fcn.00481e30
mov dword [edi + 0x64], eax
jmp case.0x46ae0d.7
or eax, 0xffffffff
mov dword [edi + 0x64], eax
jmp case.0x46ae0d.7
or dword [edi + 4], 0x100000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da1a4
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469c54
test bl, bl
je 0x469c6e
or dword [edi], 0x10000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da1b4
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469c7a
test bl, bl
je 0x469c49
or dword [edi + 4], 0x10000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da1c0
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469ca3
test bl, bl
je 0x469fb0
or dword [edi], 0x20000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4d9a10
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469ccd
movzx eax, bl
xor eax, 1
add eax, 3
mov dword [edi + 0x184], eax
jmp case.0x46ae0d.7
push 8
lea eax, [esp + 0x6c]
push 0x4da048
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x469d4d
cmp word [esp + 0x78], ax
je 0x469cfc
lea ecx, [esp + 0x78]
call fcn.00481e30
test eax, eax
jne 0x469cfc
xor bl, 1
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x469d23
xor eax, eax
test bl, bl
sete al
push eax
push ecx
call dword [esp + 0x50]
mov al, byte [esi + 0x31]
lea ecx, [esi + 0x31]
test bl, bl
je 0x469d44
or al, 0x10
mov byte [ecx], al
jmp case.0x46ae0d.7
lea ecx, [esi + 0x31]
test bl, bl
je 0x469d3b
or dword [edi], 0x8000000
mov al, byte [ecx]
or al, 0x10
mov byte [ecx], al
jmp case.0x46ae0d.7
or dword [edi + 4], 0x8000000
mov al, byte [ecx]
and al, 0xef
mov byte [ecx], al
jmp case.0x46ae0d.7
push 6
lea eax, [esp + 0x6c]
push 0x4da1cc
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x469dd2
cmp word [esp + 0x74], ax
je 0x469d7c
lea ecx, [esp + 0x74]
call fcn.00481e30
test eax, eax
jne 0x469d7c
xor bl, 1
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x469da8
xor edx, edx
mov eax, 4
test bl, bl
cmovne eax, edx
push eax
push ecx
call dword [esp + 0x54]
mov al, byte [esi + 0x31]
lea ecx, [esi + 0x31]
test bl, bl
je 0x469dc9
or al, 8
mov byte [ecx], al
jmp case.0x46ae0d.7
lea ecx, [esi + 0x31]
test bl, bl
je 0x469dc1
or dword [edi + 4], 0x10000000
mov al, byte [ecx]
or al, 8
mov byte [ecx], al
jmp case.0x46ae0d.7
or dword [edi], 0x10000000
mov al, byte [ecx]
and al, 0xf7
mov byte [ecx], al
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da1dc
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469e5a
movzx eax, byte [esi + 0x30]
dec eax
cmp eax, 0x12
ja case.0x46ae0d.7
movzx eax, byte [eax + 0x46be9c]
jmp dword [eax*4 + 0x46be84]
test bl, bl
je 0x469e11
or dword [edi + 4], 0x1f
jmp case.0x46ae0d.7
mov eax, dword [edi]
and eax, 0xffffffec
or eax, 0xc
mov dword [edi], eax
jmp case.0x46ae0d.7
or dword [edi + 4], 0x2000
jmp case.0x46ae0d.7
test bl, bl
je 0x469e3c
or dword [edi + 4], 0x100080
jmp case.0x46ae0d.7
or dword [edi], 0x80
jmp case.0x46ae0d.7
test bl, bl
je 0x46ad2a
or dword [edi], 0x200
jmp case.0x46ae0d.7
push 0xa
lea eax, [esp + 0x6c]
push 0x4da1e8
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x469f8b
mov eax, dword [esi + 0x38]
mov dword [esi + 0x34], 0xffffffff
test eax, eax
je 0x469e90
push eax
call dword [esp + 0x54]
mov dword [esi + 0x38], 0
lea eax, [esp + 0x7c]
push 0x4d403c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469ed1
test bl, bl
je case.0x46ae0d.7
movzx eax, byte [esi + 0x30]
test byte [eax + 0x4da4ec], 1
jne 0x469ec5
mov ecx, 0x4d8e28
jmp 0x46b1b1
mov dword [esi + 0x34], 0xff000001
jmp case.0x46ae0d.7
test bl, bl
je 0x469f78
cmp word [esp + 0x7c], 0
je case.0x46ae0d.7
movzx eax, byte [esi + 0x30]
test byte [eax + 0x4da4ec], 2
jne 0x469efc
mov ecx, 0x4d8e28
jmp 0x46b1b1
lea ecx, [esp + 0x7c]
call fcn.00482a10
mov edx, eax
mov dword [edi + 0x5c], edx
cmp edx, 0xffffffff
jne 0x469f50
push 0x10
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.004a47ad
movzx edx, al
add esp, 0xc
movzx ecx, ax
shl edx, 8
shr ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0x5c], edx
cmp word [eax], 0
jne case.0x46b0e6.68
cmp edx, 0xff000000
je 0x469f6d
movzx eax, byte [esi + 0x30]
test byte [eax + 0x4da4ec], 4
je 0x469f6d
push edx
call dword [esp + 0x5c]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x34], eax
jmp case.0x46ae0d.7
mov dword [esi + 0x34], 0xff000000
mov dword [edi + 0x5c], 0xff000000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da1c0
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469fbc
test bl, bl
je 0x469fb0
or dword [edi], 0x20000
jmp case.0x46ae0d.7
or dword [edi + 4], 0x20000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da0f8
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x469fdd
mov byte [edi + 0x18e], bl
jmp case.0x46ae0d.7
push 4
lea eax, [esp + 0x6c]
push 0x4d3dfc
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a038
cmp byte [esi + 0x30], 0xa
jne 0x46a01f
lea eax, [esp + 0x70]
push 0x4da200
push eax
call fcn.0049ed01
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [edi + 0x14], eax
jmp case.0x46ae0d.7
test bl, bl
je case.0x46ae0d.7
lea ecx, [esp + 0x70]
call fcn.00481e30
mov dword [edi + 0x6c], eax
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da20c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a05a
mov dword [edi + 0x14], 1
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4d8e18
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a07c
mov dword [edi + 0x14], 3
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da21c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a09e
mov dword [edi + 0x14], 4
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0xa
jne 0x46a16a
lea eax, [esp + 0x68]
push 0x4d3e6c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a0d2
test bl, bl
je 0x46a47b
or dword [edi + 4], 0x4000
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0xa
jne 0x46a16a
push 6
lea eax, [esp + 0x6c]
push 0x4d3e50
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a136
lea eax, [esp + 0x74]
push 0x4d3e6c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a11d
test bl, bl
je 0x469be9
or dword [edi], 0x8000
jmp case.0x46ae0d.7
mov byte [edi + 0x18f], bl
mov eax, dword [esi + 0x3c]
test eax, eax
je case.0x46ae0d.7
mov byte [eax + 5], bl
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0xa
jne 0x46a16a
lea eax, [esp + 0x68]
push 0x4da228
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a16a
mov ecx, dword [edi + 0x10]
mov eax, ecx
and eax, 0xfffffffe
or ecx, 1
test bl, bl
cmove ecx, eax
mov dword [edi + 0x10], ecx
jmp case.0x46ae0d.7
push 5
lea eax, [esp + 0x6c]
push 0x4d497c
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a193
lea ecx, [esp + 0x72]
call fcn.00481e30
mov dword [edi + 0x60], eax
jmp case.0x46ae0d.7
push 2
lea eax, [esp + 0x6c]
push 0x4da234
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a1e7
cmp word [esp + 0x6c], 0x2d
je 0x46a1e7
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x6c]
call fcn.00481d80
mov ecx, dword [esp + 0x5c]
cmp word [ecx], 0
jne 0x46a1e7
mov ecx, dword [edi + 0x10]
test bl, bl
je 0x46a1db
or ecx, eax
mov dword [edi + 0x10], ecx
jmp case.0x46ae0d.7
not eax
and ecx, eax
mov dword [edi + 0x10], ecx
jmp case.0x46ae0d.7
push 9
lea eax, [esp + 0x6c]
push 0x4da23c
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a218
test bl, bl
je case.0x46ae0d.7
lea ecx, [esp + 0x7a]
call fcn.00481e30
mov dword [edi + 0x18], eax
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 4
jne 0x46a244
lea eax, [esp + 0x68]
push 0x4d3590
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a244
test bl, bl
je 0x46acd0
or dword [edi], 1
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 5
jne 0x46a270
lea eax, [esp + 0x68]
push 0x4da250
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a270
test bl, bl
je 0x46a7b6
or dword [edi], 6
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4d3cc4
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a2de
movzx eax, byte [esi + 0x30]
add eax, 0xfffffff7
cmp eax, 3
ja case.0x46ae0d.7
jmp dword [eax*4 + 0x46beb0]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je case.0x46a306.9
push 0
movzx eax, bl
push eax
push 0xcf
push ecx
call dword [esp + 0x20]
jmp case.0x46ae0d.7
test bl, bl
je 0x469e4f
or dword [edi + 4], 0x200
jmp case.0x46ae0d.7
test bl, bl
je 0x46ada1
or dword [edi + 4], 8
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da260
push eax
call fcn.0049ed01
mov cl, byte [esi + 0x30]
add esp, 8
test eax, eax
jne 0x46a339
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 5
ja case.0x46ae0d.7
jmp dword [eax*4 + 0x46bec0]
test bl, bl
je 0x46a31c
or dword [edi], 0x800
jmp case.0x46ae0d.7
or dword [edi + 4], 0x800
jmp case.0x46ae0d.7
test bl, bl
je 0x46ac8e
or dword [edi + 4], 4
jmp case.0x46ae0d.7
cmp cl, 0xc
jne 0x46a36f
lea eax, [esp + 0x68]
push 0x4da26c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a36f
test bl, bl
je 0x46a363
or dword [edi], 0x1000
jmp case.0x46ae0d.7
or dword [edi + 4], 0x1000
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0xc
jne 0x46a3c8
lea eax, [esp + 0x68]
push 0x4da284
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
je 0x46a696
cmp byte [esi + 0x30], 0xc
jne 0x46a3c8
lea eax, [esp + 0x68]
push 0x4da294
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a3c8
mov cl, byte [esi + 0x31]
mov al, cl
and cl, 0xfd
or al, 2
movzx ecx, cl
test bl, bl
movzx eax, al
cmove ecx, eax
mov byte [esi + 0x31], cl
jmp case.0x46ae0d.7
mov al, byte [esi + 0x30]
cmp al, 0xa
je 0x46a3d3
cmp al, 0xb
jne 0x46a406
lea eax, [esp + 0x68]
push 0x4da2a8
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a406
mov cl, byte [esi + 0x31]
mov al, cl
and cl, 0x7f
or al, 0x80
movzx ecx, cl
test bl, bl
movzx eax, al
cmove ecx, eax
mov byte [esi + 0x31], cl
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0xc
jne 0x46a435
lea eax, [esp + 0x68]
push 0x4cfc2c
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a435
test bl, bl
je 0x469e20
or dword [edi], 0x2000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da2b8
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a486
mov al, byte [esi + 0x30]
cmp al, 0xc
jne 0x46a467
test bl, bl
je 0x46a45e
or dword [edi], 0x10
jmp case.0x46ae0d.7
or dword [edi + 4], 0x10
jmp case.0x46ae0d.7
cmp al, 8
je case.0x46a296.9
cmp al, 7
jne case.0x46ae0d.7
test bl, bl
je 0x46a0c6
or dword [edi], 0x4000
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da2cc
push eax
call fcn.0049ed01
mov cl, byte [esi + 0x30]
add esp, 8
test eax, eax
jne 0x46a4d5
cmp cl, 0xc
jne 0x46a4b4
test bl, bl
je 0x46adac
or dword [edi], 8
jmp case.0x46ae0d.7
cmp cl, 8
je case.0x469dfd.3
cmp cl, 7
jne case.0x46ae0d.7
test bl, bl
je 0x469e20
or dword [edi], 0x2000
jmp case.0x46ae0d.7
cmp cl, 0xc
jne 0x46a56b
push 8
lea eax, [esp + 0x6c]
push 0x4d3eec
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a56b
mov ax, word [esp + 0x78]
mov word [edi + 0x188], ax
test bl, bl
je 0x46a548
or dword [edi], 0x20
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x46a561
push 0
test ax, ax
jne 0x46a530
push 0x25cf
push 0xcc
push ecx
call dword [esp + 0x20]
mov byte [esp + 0x1c], 1
jmp case.0x46ae0d.7
movzx eax, ax
push eax
push 0xcc
push ecx
call dword [esp + 0x20]
mov byte [esp + 0x1c], 1
jmp case.0x46ae0d.7
or dword [edi + 4], 0x20
mov eax, dword [esi + 0x18]
test eax, eax
je 0x46a561
push 0
push 0
push 0xcc
push eax
call dword [esp + 0x20]
mov byte [esp + 0x1c], 1
jmp case.0x46ae0d.7
push 5
lea eax, [esp + 0x6c]
push 0x4da2e0
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a5b7
test bl, bl
je 0x46a5aa
cmp word [esp + 0x72], ax
je 0x46a59f
lea ecx, [esp + 0x72]
call fcn.00481e30
mov dword [edi + 0x60], eax
jmp case.0x46ae0d.7
or eax, 0xffffffff
mov dword [edi + 0x60], eax
jmp case.0x46ae0d.7
mov eax, SysReAllocStringLen
mov dword [edi + 0x60], eax
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 8
jne 0x46a5e3
lea eax, [esp + 0x68]
push 0x4da2ec
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a5e3
test bl, bl
je 0x46acd0
or dword [edi], 1
jmp case.0x46ae0d.7
push 4
lea eax, [esp + 0x6c]
push 0x4d3e44
push eax
call fcn.0049ee82
mov cl, byte [esi + 0x30]
add esp, 0xc
test eax, eax
jne 0x46a644
movzx eax, cl
add eax, 0xfffffff9
cmp eax, 3
ja case.0x46ae0d.7
jmp dword [eax*4 + 0x46bed8]
test bl, bl
je 0x46a63b
lea eax, [esp + 0x70]
push 0x4d3e28
push eax
call fcn.0049ed01
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x20
or dword [edi], eax
jmp case.0x46ae0d.7
or dword [edi + 4], 0x30
jmp case.0x46ae0d.7
cmp cl, 0x10
jne 0x46a676
lea eax, [esp + 0x68]
push 0x4da2fc
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a676
test bl, bl
je 0x46a82b
mov eax, dword [edi]
and eax, 0xffffffef
or eax, 0x40
mov dword [edi], eax
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0x11
jne 0x46a743
lea eax, [esp + 0x68]
push 0x4da308
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a6b3
mov cl, byte [esi + 0x31]
mov al, cl
or cl, 0x80
and al, 0x7f
movzx ecx, cl
test bl, bl
movzx eax, al
cmove ecx, eax
mov byte [esi + 0x31], cl
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0x11
jne 0x46a743
lea eax, [esp + 0x68]
push 0x4da318
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a6e3
test bl, bl
je 0x46a45e
or dword [edi], 0x10
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0x11
jne 0x46a743
push 0xc
lea eax, [esp + 0x6c]
push 0x4da328
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a743
mov byte [edi + 0x18b], 1
test bl, bl
je 0x46a734
or dword [edi], 1
lea ecx, [esp + 0x80]
cmp word [esp + 0x80], ax
setne al
mov byte [edi + 0x18c], al
call fcn.00481e30
mov dword [edi + 0x3c], eax
jmp case.0x46ae0d.7
or dword [edi + 4], 1
or eax, 0xffffffff
mov dword [edi + 0x3c], eax
jmp case.0x46ae0d.7
push 4
lea eax, [esp + 0x6c]
push 0x4d1a30
push eax
call fcn.0049ee82
mov cl, byte [esi + 0x30]
add esp, 0xc
test eax, eax
jne 0x46a7bf
cmp cl, 0x11
jne 0x46a77c
test bl, bl
je case.0x46ae0d.7
lea ecx, [esp + 0x70]
call fcn.00481e30
mov dword [edi + 0x40], eax
jmp case.0x46ae0d.7
cmp cl, 0xb
jne case.0x46ae0d.7
movzx eax, word [esp + 0x70]
mov edx, eax
lea esi, [eax - 0x61]
and eax, 0xffdf
movzx ecx, ax
cmp si, 0x19
mov eax, edx
cmova ecx, eax
cmp cx, 0x53
jne case.0x46ae0d.7
test bl, bl
je 0x46a7b6
or dword [edi], 6
jmp case.0x46ae0d.7
or dword [edi + 4], 6
jmp case.0x46ae0d.7
cmp cl, 0x11
jne 0x46a7f5
push 4
lea eax, [esp + 0x6c]
push 0x4da344
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a7f5
test bl, bl
je case.0x46ae0d.7
lea ecx, [esp + 0x70]
call fcn.00481e30
mov dword [edi + 0x44], eax
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0x11
jne 0x46a834
push 5
lea eax, [esp + 0x6c]
push 0x4da350
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a834
test bl, bl
je 0x46a82b
or dword [edi], 0x40
lea ecx, [esp + 0x72]
call fcn.00481e30
mov dword [edi + 0x48], eax
jmp case.0x46ae0d.7
or dword [edi + 4], 0x40
jmp case.0x46ae0d.7
push 7
lea eax, [esp + 0x6c]
push 0x4ce2e0
push eax
call fcn.0049ee82
mov cl, byte [esi + 0x30]
add esp, 0xc
test eax, eax
jne 0x46a910
cmp cl, 0x11
jne case.0x46ae0d.7
test bl, bl
je 0x46ae3b
movzx eax, word [esp + 0x76]
mov edx, eax
mov dword [edi + 0x4c], 0xffffffff
add eax, 0xffffff9f
mov ecx, edx
and ecx, 0xffffffdf
cmp ax, 0x19
cmova ecx, edx
add ecx, 0xffffffbe
cmp ecx, 0x12
ja case.0x46a890.67
movzx eax, byte [ecx + 0x46befc]
jmp dword [eax*4 + 0x46bee8]
xor eax, eax
mov dword [edi + 0x4c], 0
inc eax
mov dword [edi + 0x4c], eax
or dword [edi], 0x100
jmp case.0x46ae0d.7
mov eax, 1
mov dword [edi + 0x4c], 1
inc eax
mov dword [edi + 0x4c], eax
or dword [edi], 0x100
jmp case.0x46ae0d.7
mov eax, 2
mov dword [edi + 0x4c], 2
inc eax
mov dword [edi + 0x4c], eax
or dword [edi], 0x100
jmp case.0x46ae0d.7
mov eax, 3
mov dword [edi + 0x4c], 3
inc eax
mov dword [edi + 0x4c], eax
or dword [edi], 0x100
jmp case.0x46ae0d.7
xor eax, eax
mov dword [edi + 0x4c], eax
or dword [edi], 0x100
jmp case.0x46ae0d.7
cmp cl, 0x11
jne 0x46a979
push 5
lea eax, [esp + 0x6c]
push 0x4da35c
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46a979
test bl, bl
je case.0x46ae0d.7
movzx esi, word [esp + 0x72]
test si, si
je case.0x46ae0d.7
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
call fcn.0046ddd0
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 0x5c]
jae case.0x46ae0d.7
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + eax*4]
cmp esi, 0x31
jne 0x46a971
mov dword [edi + 0x50], eax
jmp case.0x46ae0d.7
mov dword [edi + 0x54], eax
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da368
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46a9be
mov al, byte [esi + 0x30]
cmp al, 0x11
jne 0x46a9a6
test bl, bl
je case.0x46acfc.11
or dword [edi], 2
jmp case.0x46ae0d.7
cmp al, 0x12
jne case.0x46ae0d.7
test bl, bl
je 0x46abc6
or dword [edi], 4
jmp case.0x46ae0d.7
push 5
lea eax, [esp + 0x6c]
push 0x4da37c
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46aa7d
test bl, bl
je case.0x46ae0d.7
cmp word [esp + 0x72], ax
je case.0x46ae0d.7
mov al, byte [esi + 0x30]
cmp al, 0xd
je 0x46aa32
cmp al, 0xe
je 0x46aa32
lea ecx, [esp + 0x72]
mov byte [edi + 0x18a], 1
call fcn.00481e30
mov dword [edi + 0x34], eax
lea eax, [esp + 0x74]
push 0x2d
push eax
call fcn.0049c891
add esp, 8
test eax, eax
je case.0x46ae0d.7
lea ecx, [eax + 2]
call fcn.00481e30
mov dword [edi + 0x38], eax
jmp case.0x46ae0d.7
lea esi, [edi + 0x15c]
mov edx, esi
lea ecx, [esp + 0x72]
call fcn.00481180
mov dword [edi + 0x180], eax
test eax, eax
je case.0x46b0e6.68
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je case.0x46ae0d.7
cmp byte [ebx + 0x30], 0xd
mov edx, 0x1004
push esi
push eax
mov eax, 0x1012
cmove eax, edx
push eax
push ecx
call dword [esp + 0x20]
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0x12
jne 0x46aaa9
lea eax, [esp + 0x68]
push 0x4da388
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46aaa9
test bl, bl
je 0x46acd0
or dword [edi], 1
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4da398
push eax
call fcn.0049ed01
mov cl, byte [esi + 0x30]
add esp, 8
test eax, eax
jne 0x46aaf3
cmp cl, 0x13
jne 0x46aada
test bl, bl
je 0x46ae3b
or dword [edi], 0x100
jmp case.0x46ae0d.7
cmp cl, 0xb
jne case.0x46ae0d.7
test bl, bl
je 0x46acd0
or dword [edi], 1
jmp case.0x46ae0d.7
cmp cl, 0x13
jne 0x46ab37
lea eax, [esp + 0x68]
push 0x4da3a8
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46ab37
mov eax, dword [edi + 4]
mov ecx, edi
mov edx, 4
test bl, bl
je 0x46ab2c
or dword [edi], 2
or eax, 0x80
mov dword [ecx + edx], eax
jmp case.0x46ae0d.7
or eax, 2
mov dword [ecx + edx], eax
jmp case.0x46ae0d.7
cmp byte [esi + 0x30], 0x18
jne 0x46ab89
push 5
lea eax, [esp + 0x6c]
push 0x4d5edc
push eax
call fcn.0049ee82
add esp, 0xc
test eax, eax
jne 0x46ab89
lea eax, [esp + 0x2a0]
push eax
lea eax, [esp + 0x76]
push eax
push dword [0x4e7ce0]
call dword [esp + 0x6c]
movzx eax, ax
mov word [edi + 0x192], ax
test ax, ax
jne case.0x46ae0d.7
mov ecx, 0x4da3b8
jmp 0x46b1b1
lea eax, [esp + 0x68]
push 0x4d3e10
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46ac50
movzx eax, byte [esi + 0x30]
dec eax
cmp eax, 0x10
ja case.0x46ae0d.7
test bl, bl
je 0x46abf2
movzx eax, byte [eax + 0x46bf24]
jmp dword [eax*4 + 0x46bf10]
or dword [edi + 4], 4
jmp case.0x46ae0d.7
movzx eax, byte [eax + 0x46bf4c]
jmp dword [eax*4 + 0x46bf38]
or dword [edi + 4], 0x1f
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4d1c34
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46ad63
movzx eax, byte [esi + 0x30]
dec eax
test bl, bl
je 0x46acec
cmp eax, 0x16
ja case.0x46ae0d.7
movzx eax, byte [eax + 0x46bf80]
jmp dword [eax*4 + 0x46bf60]
or dword [edi + 4], 8
or dword [edi], 4
jmp case.0x46ae0d.7
or dword [edi], 2
or dword [edi + 4], 0x1d
jmp case.0x46ae0d.7
mov eax, dword [edi]
or dword [edi + 4], 0x100
or eax, 0x200
mov dword [edi], eax
mov cl, byte [esi + 0x30]
cmp cl, 5
je 0x46acc3
cmp cl, 6
jne case.0x46ae0d.7
or eax, 0x20
mov dword [edi], eax
jmp case.0x46ae0d.7
or dword [edi], 2
or dword [edi + 4], 1
jmp case.0x46ae0d.7
or dword [edi], 0x282
jmp case.0x46ae0d.7
or dword [edi], 0x20
jmp case.0x46ae0d.7
cmp eax, 0x12
ja case.0x46ae0d.7
movzx eax, byte [eax + 0x46bfb4]
jmp dword [eax*4 + 0x46bf98]
or dword [edi + 4], 0x20
jmp case.0x46ae0d.7
mov eax, dword [esi + 0x18]
test eax, eax
je 0x46ad36
push 0xfffffffffffffff0
push eax
call dword [esp + 0x30]
and eax, 0x300
cmp eax, 0x300
je case.0x46ae0d.7
or dword [edi + 4], 0x200
jmp case.0x46ae0d.7
mov ecx, dword [edi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x46ae0d.7
and ecx, 0xfffffdff
mov dword [edi], ecx
jmp case.0x46ae0d.7
or dword [edi + 4], 0x82
jmp case.0x46ae0d.7
lea eax, [esp + 0x68]
push 0x4d1c28
push eax
call fcn.0049ed01
add esp, 8
test eax, eax
jne 0x46ae74
movzx eax, byte [esi + 0x30]
test bl, bl
je 0x46adfa
dec eax
cmp eax, 0x12
ja case.0x46ae0d.7
movzx eax, byte [eax + 0x46bfe8]
jmp dword [eax*4 + 0x46bfc8]
or dword [edi + 4], 4
or dword [edi], 8
jmp case.0x46ae0d.7
or dword [edi], 4
or dword [edi + 4], 8
jmp case.0x46ae0d.7
mov eax, dword [edi + 4]
or dword [edi], 0x100
or eax, 0x200
mov dword [edi + 4], eax
mov cl, byte [esi + 0x30]
cmp cl, 5
je 0x46add7
cmp cl, 6
jne case.0x46ae0d.7
or eax, 0x20
mov dword [edi + 4], eax
jmp case.0x46ae0d.7
or dword [edi + 4], 3
jmp case.0x46ae0d.7
or dword [edi], 0x280
or dword [edi + 4], 2
jmp case.0x46ae0d.7
add eax, 0xfffffffd
cmp eax, 0x10
ja case.0x46ae0d.7
movzx eax, byte [eax + 0x46c00c]
jmp dword [eax*4 + 0x46bffc]
or dword [edi + 4], 0xc
jmp case.0x46ae0d.7
mov eax, dword [esi + 0x18]
test eax, eax
je 0x46ae47
push 0xfffffffffffffff0
push eax
call dword [esp + 0x30]
and eax, 0x300
cmp eax, 0x300
je case.0x46ae0d.7
or dword [edi + 4], 0x100
jmp case.0x46ae0d.7
mov ecx, dword [edi]
mov eax, ecx
and eax, 0x300
cmp eax, 0x300
je case.0x46ae0d.7
and ecx, 0xfffffeff
mov dword [edi], ecx
jmp case.0x46ae0d.7
or dword [edi + 4], 0x80
jmp case.0x46ae0d.7
mov ax, word [esp + 0x68]
cmp ax, 0x2d
je 0x46aeae
lea edx, [esp + 0x64]
lea ecx, [esp + 0x68]
call fcn.00481d80
mov ecx, dword [esp + 0x64]
cmp word [ecx], 0
jne 0x46aea9
test bl, bl
je 0x46aea1
or dword [edi], eax
jmp case.0x46ae0d.7
or dword [edi + 4], eax
jmp case.0x46ae0d.7
mov ax, word [esp + 0x68]
movzx eax, ax
mov esi, eax
add eax, 0xffffff9f
cmp ax, 0x19
ja 0x46aec4
and esi, 0xffdf
jmp 0x46aec7
movzx esi, si
cmp word [esp + 0x6a], 0
lea ecx, [esp + 0x6a]
mov dword [esp + 0x34], esi
movzx eax, si
mov dword [esp + 0x20], ecx
jne 0x46af20
cmp eax, 0x43
je 0x46af0c
cmp si, 0x56
jne case.0x46b0e6.68
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x46af00
push eax
call fcn.0049ee02
add esp, 4
mov dword [ebx + 0x1c], 0
jmp case.0x46ae0d.7
test bl, bl
jne case.0x46ae0d.7
mov dword [edi + 0x58], 0xff000000
jmp case.0x46ae0d.7
push esi
push 0x4da3f0
mov dword [esp + 0x34], 0
call fcn.0049c891
add esp, 8
test eax, eax
je 0x46b0c0
mov cx, word [esp + 0x6a]
movzx eax, cx
mov edx, eax
add eax, 0xffffff9f
cmp ax, 0x19
ja 0x46af57
and edx, 0xffdf
movzx eax, si
add eax, 0xffffffb8
mov dword [esp + 0x24], edx
cmp eax, 0x11
ja case.0x46af71.73
movzx eax, byte [eax + 0x46c02c]
jmp dword [eax*4 + 0x46c020]
cmp dx, 0x50
lea esi, [esp + 0x6a]
lea eax, [esp + 0x6c]
cmove esi, eax
mov dword [esp + 0x20], esi
jmp 0x46aff5
cmp cx, 0x2b
jne 0x46afcb
movzx eax, word [esp + 0x6c]
mov ecx, eax
lea edx, [eax - 0x61]
and eax, 0xffdf
movzx esi, ax
cmp dx, 0x19
mov eax, ecx
cmova esi, eax
mov eax, 0x4d
cmp ax, si
jne 0x46afc7
lea esi, [esp + 0x6e]
mov byte [esp + 0xf], 1
mov dword [esp + 0x20], esi
jmp 0x46aff5
mov edx, dword [esp + 0x24]
push edx
push 0x4da400
mov byte [esp + 0x17], 0
call fcn.0049c891
add esp, 8
lea ecx, [esp + 0x6c]
test eax, eax
cmove ecx, dword [esp + 0x20]
mov esi, ecx
mov dword [esp + 0x20], esi
jmp 0x46aff5
mov esi, dword [esp + 0x20]
push ecx
push 1
push 0
mov edx, 1
mov ecx, esi
call fcn.004814b0
add esp, 0xc
sub eax, 1
je 0x46b056
sub eax, 1
je 0x46b02f
cmp word [esi], 0
jne 0x46b022
mov ecx, dword [esp + 0x24]
test cx, cx
jne 0x46b074
mov edx, dword [esp + 0x18]
xor esi, esi
mov ecx, esi
jmp 0x46b0d0
push esi
call fcn.004a8e92
mov ecx, dword [esp + 0x28]
add esp, 4
fstp dword [esp + 0x38]
movss xmm0, dword [esp + 0x38]
cvttss2si eax, xmm0
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x2c], eax
jmp 0x46b078
mov ecx, esi
call fcn.00481e30
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm0
jmp 0x46b078
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
cmp si, 0x58
je 0x46b09e
cmp si, 0x59
je 0x46b09e
cmp si, 0x57
je 0x46b094
cmp si, 0x48
jne 0x46b0c8
test eax, eax
jg 0x46b09e
cmp cx, 0x50
jne 0x46b0c8
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc6], 0
je 0x46b0cc
push 0x60
push dword [0x4e8f1c]
push eax
call dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov ecx, eax
jmp 0x46b0d0
mov edx, dword [esp + 0x18]
xor ecx, ecx
jmp 0x46b0d0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
movzx eax, si
add eax, 0xffffffbd
cmp eax, 0x16
ja case.0x46b0e6.68
movzx eax, byte [eax + 0x46c068]
jmp dword [eax*4 + 0x46c040]
mov eax, dword [edi + 0x138]
cmp eax, 0x32
jae case.0x46ae0d.7
mov dword [edi + eax*4 + 0x70], ecx
inc dword [edi + 0x138]
jmp case.0x46ae0d.7
mov esi, dword [esp + 0x20]
mov ecx, edx
push esi
push dword [ebp + 0x10]
call fcn.00463470
cmp eax, 0xa0000000
je 0x46b634
cmp eax, 0xa00e0001
jne case.0x46ae0d.7
push dword [0x4e8dfc]
mov ecx, 0x4e8f30
push 0
push 0
push 0
push 0x4d1758
call fcn.0040c800
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x20]
cmp word [esi], 0
jne 0x46b167
mov dword [edi + 0x58], 0xff000000
jmp case.0x46ae0d.7
mov ecx, esi
call fcn.00482a10
mov dword [edi + 0x58], eax
cmp eax, 0xffffffff
jne case.0x46ae0d.7
push 0x10
lea eax, [esp + 0x48]
push eax
push esi
call fcn.004a47ad
movzx edx, al
add esp, 0xc
movzx ecx, ax
shl edx, 8
shr ecx, 8
or edx, ecx
shr eax, 0x10
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x58], edx
cmp word [eax], 0
je case.0x46ae0d.7
mov ecx, 0x4d3528
push 9
lea edx, [esp + 0x6c]
call fcn.0040dbf0
add esp, 4
test eax, eax
je 0x46b634
mov ecx, dword [esp + 0x3c]
nop dword [eax + eax]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x46b1e1
cmp eax, 9
jne 0x46b5e5
add ecx, 2
jmp 0x46b1d0
cmp word [esp + 0x24], 0x50
jne 0x46b1fb
mov eax, dword [edx + 0x8c]
add eax, ecx
mov dword [edi + 0x24], eax
jmp case.0x46ae0d.7
mov eax, ecx
mov dword [edi + 0x24], eax
jmp case.0x46ae0d.7
cmp word [esp + 0x24], 0x50
jne 0x46b217
mov eax, dword [edx + 0x90]
add eax, ecx
mov dword [edi + 0x28], eax
jmp case.0x46ae0d.7
mov eax, ecx
mov dword [edi + 0x28], eax
jmp case.0x46ae0d.7
mov eax, dword [esp + 0x24]
cmp ax, 0x2b
jne 0x46b33f
cmp byte [esp + 0xf], 0
je 0x46b238
mov eax, dword [edx + 0x7c]
jmp 0x46b23a
xor eax, eax
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x10]
mov ah, byte [eax + 0x32]
cmp ah, 0xff
je 0x46b27a
mov ecx, dword [esp + 0x18]
xor al, al
xor edx, edx
mov esi, dword [ecx + 0x5c]
test esi, esi
je 0x46b27a
mov ecx, dword [ecx + 0x2c]
nop dword [eax]
mov ebx, dword [ecx]
mov dword [esp + 0x20], ebx
cmp byte [ebx + 0x30], 0x13
jne 0x46b272
cmp al, ah
je 0x46b2ac
inc al
inc edx
add ecx, 4
cmp edx, esi
jb 0x46b260
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x8c]
add eax, dword [esi + 0x84]
add eax, dword [esp + 0x34]
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x46ae0d.7
mov eax, dword [esi + 0x88]
mov dword [edi + 0x20], eax
jmp case.0x46ae0d.7
test ebx, ebx
je 0x46b27a
mov esi, dword [esp + 0x18]
xor edx, edx
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edi, dword [ebp + 0x10]
mov ebx, dword [esi + 0x2c]
mov al, byte [eax + 0x33]
mov esi, dword [esi + 0x5c]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x17], al
nop
mov eax, dword [ebx + ecx*4]
mov bl, byte [esp + 0x17]
cmp byte [eax + 0x33], bl
mov ebx, dword [esp + 0x2c]
jne 0x46b2e9
mov al, byte [eax + 0x32]
cmp al, byte [edi + 0x32]
jne 0x46b2e9
inc edx
inc ecx
cmp ecx, esi
jb 0x46b2d0
mov edi, dword [ebp + 0xc]
test edx, edx
jne 0x46b27a
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x270]
push eax
mov eax, dword [esp + 0x24]
mov ecx, esi
push dword [eax + 0x18]
call fcn.00470920
mov eax, dword [esp + 0x270]
add eax, dword [esp + 0x34]
cmp dword [edi + 0x20], 0x80000000
mov ecx, dword [esp + 0x274]
mov dword [edi + 0x1c], eax
jne case.0x46ae0d.7
add ecx, dword [esi + 0x80]
mov dword [edi + 0x20], ecx
jmp case.0x46ae0d.7
cmp ax, 0x4d
jne 0x46b36e
mov eax, dword [edx + 0x7c]
add eax, ecx
mov dword [edi + 0x1c], eax
cmp dword [edi + 0x20], 0x80000000
jne case.0x46ae0d.7
mov eax, dword [edx + 0x98]
add eax, dword [edx + 0x80]
mov dword [edi + 0x20], eax
jmp case.0x46ae0d.7
cmp ax, 0x50
jne 0x46b3b0
mov eax, dword [edx + 0x84]
add eax, ecx
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x46ae0d.7
mov ecx, dword [edx + 0x88]
cmp eax, dword [edx + 0x84]
jne 0x46b3a8
mov eax, dword [edx + 0x90]
add eax, dword [edx + 0x80]
add ecx, eax
mov dword [edi + 0x20], ecx
jmp case.0x46ae0d.7
cmp ax, 0x53
jne 0x46b3e2
mov eax, dword [edx + 0x9c]
add eax, ecx
cmp dword [edi + 0x20], 0x80000000
mov dword [edi + 0x1c], eax
jne case.0x46ae0d.7
mov eax, dword [edx + 0xa8]
add eax, dword [edx + 0x80]
mov dword [edi + 0x20], eax
jmp case.0x46ae0d.7
mov dword [edi + 0x1c], ecx
jmp 0x46b34d
mov eax, dword [esp + 0x24]
cmp ax, 0x2b
jne 0x46b519
cmp byte [esp + 0xf], 0
je 0x46b407
mov eax, dword [edx + 0x80]
jmp 0x46b409
xor eax, eax
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x10]
mov ah, byte [eax + 0x32]
cmp ah, 0xff
je 0x46b44e
mov ecx, dword [esp + 0x18]
xor al, al
xor edx, edx
mov esi, dword [ecx + 0x5c]
test esi, esi
je 0x46b512
mov ecx, dword [ecx + 0x2c]
mov ebx, dword [ecx]
mov dword [esp + 0x20], ebx
cmp byte [ebx + 0x30], 0x13
jne 0x46b442
cmp al, ah
je 0x46b47c
inc al
inc edx
add ecx, 4
cmp edx, esi
jb 0x46b430
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x90]
add eax, dword [edx + 0x88]
add eax, dword [esp + 0x34]
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x46ae0d.7
mov eax, dword [edx + 0x84]
mov dword [edi + 0x1c], eax
jmp case.0x46ae0d.7
test ebx, ebx
je 0x46b44a
mov esi, dword [esp + 0x18]
xor edx, edx
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edi, dword [ebp + 0x10]
mov ebx, dword [esi + 0x2c]
mov al, byte [eax + 0x33]
mov esi, dword [esi + 0x5c]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x17], al
nop
mov eax, dword [ebx + ecx*4]
mov bl, byte [esp + 0x17]
cmp byte [eax + 0x33], bl
mov ebx, dword [esp + 0x2c]
jne 0x46b4b9
mov al, byte [eax + 0x32]
cmp al, byte [edi + 0x32]
jne 0x46b4b9
inc edx
inc ecx
cmp ecx, esi
jb 0x46b4a0
mov edi, dword [ebp + 0xc]
test edx, edx
jne 0x46b44a
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x280]
push eax
mov eax, dword [esp + 0x24]
mov ecx, esi
push dword [eax + 0x18]
call fcn.00470920
mov eax, dword [esp + 0x284]
add eax, dword [esp + 0x34]
cmp dword [edi + 0x1c], 0x80000000
mov ecx, dword [esp + 0x280]
mov dword [esp + 0x2c], ecx
mov dword [edi + 0x20], eax
jne case.0x46ae0d.7
mov eax, dword [esi + 0x7c]
add eax, ecx
mov dword [edi + 0x1c], eax
jmp case.0x46ae0d.7
mov edx, ecx
jmp 0x46b44e
cmp ax, 0x4d
jne 0x46b548
mov eax, dword [edx + 0x80]
add eax, ecx
mov dword [edi + 0x20], eax
cmp dword [edi + 0x1c], 0x80000000
jne case.0x46ae0d.7
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x7c]
mov dword [edi + 0x1c], eax
jmp case.0x46ae0d.7
cmp ax, 0x50
jne 0x46b58a
mov eax, dword [edx + 0x88]
add eax, ecx
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x46ae0d.7
mov ecx, dword [edx + 0x84]
cmp eax, dword [edx + 0x88]
jne 0x46b582
mov eax, dword [edx + 0x8c]
add eax, dword [edx + 0x80]
add ecx, eax
mov dword [edi + 0x1c], ecx
jmp case.0x46ae0d.7
cmp ax, 0x53
jne 0x46b5b9
mov eax, dword [edx + 0xa0]
add eax, ecx
cmp dword [edi + 0x1c], 0x80000000
mov dword [edi + 0x20], eax
jne case.0x46ae0d.7
mov eax, dword [edx + 0xa4]
add eax, dword [edx + 0x7c]
mov dword [edi + 0x1c], eax
jmp case.0x46ae0d.7
mov dword [edi + 0x20], ecx
jmp 0x46b52a
movss xmm0, dword [esp + 0x38]
movss dword [edi + 0x2c], xmm0
jmp case.0x46ae0d.7
test bl, bl
je 0x46b5dd
or dword [edi + 8], ecx
jmp case.0x46ae0d.7
or dword [edi + 0xc], ecx
jmp case.0x46ae0d.7
mov edx, eax
test ax, ax
jne 0x469962
mov edx, dword [esp + 0x28]
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x46be76
push 0xfffffffffffffff0
push eax
call edx
mov ecx, dword [edi + 4]
mov edx, eax
movzx eax, byte [esi + 0x30]
mov ebx, edx
or ebx, dword [edi]
not ecx
and ebx, ecx
mov dword [esp + 0x2c], edx
lea ecx, [esi + 0x30]
add eax, 0xfffffffe
mov esi, ecx
cmp eax, 8
ja case.0x46b62d.9
jmp dword [eax*4 + 0x46c080]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, ebx
xor eax, edx
and eax, 0xf
xor ebx, eax
jmp case.0x46b62d.9
and ebx, 0xfffffff7
or ebx, 7
jmp case.0x46b62d.9
test bl, 1
je 0x46b665
and ebx, 0xfffffff1
or ebx, 1
jmp 0x46b668
and ebx, 0xfffffff0
mov esi, dword [esp + 0x18]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x64]
cmp eax, ecx
jne 0x46b6a7
test byte [edi + 4], 1
je 0x46b6f5
push 0
push 1
push 0x401
push dword [esi + 0x1c]
mov dword [esi + 0x64], 0xffffffff
call dword [esp + 0x20]
mov esi, dword [ebp + 0x10]
or dword [esp + 0x2c], 1
add esi, 0x30
jmp case.0x46b62d.9
test byte [edi], 1
je 0x46b6f5
cmp ecx, dword [esi + 0x5c]
jae 0x46b6e0
mov eax, dword [esi + 0x2c]
push 1
push 0xfffffffffffffff0
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
call dword [esp + 0x34]
mov ecx, dword [esi + 0x64]
and eax, 0xfffe
push eax
mov eax, dword [esi + 0x2c]
push 0xf4
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
call dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
push 0
mov dword [esi + 0x64], eax
add eax, 3
push eax
push 0x401
push dword [esi + 0x1c]
call dword [esp + 0x20]
mov esi, dword [ebp + 0x10]
add esi, 0x30
jmp case.0x46b62d.9
mov eax, ebx
and eax, 6
cmp al, 6
jne 0x46b70e
and ebx, 0xfffffff6
or ebx, 6
jmp case.0x46b62d.9
and ebx, 0xfffffff3
or ebx, 3
jmp case.0x46b62d.9
and ebx, 0xfffffff9
or ebx, 9
jmp case.0x46b62d.9
test bl, 1
je 0x46b72b
and ebx, 0xfffffff1
or ebx, 1
jmp case.0x46b62d.9
and ebx, 0xfffffff2
or ebx, 2
jmp case.0x46b62d.9
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je case.0x46b62d.9
mov esi, dword [ebp + 0x10]
push 0
push eax
push 0x108e
push dword [esi + 0x18]
call dword [esp + 0x20]
mov ecx, dword [edi + 0x14]
lea eax, [esi + 0x30]
mov esi, eax
cmp ecx, 4
je case.0x46b62d.9
and ebx, 0xfffffffc
or ebx, ecx
mov ecx, dword [edi + 0x60]
mov eax, esi
test ecx, ecx
je 0x46b7d1
mov dl, byte [esi]
cmp dl, 0xc
jne 0x46b7ab
mov eax, dword [ebp + 0x10]
push 0
mov eax, dword [eax + 0x18]
test ecx, ecx
jns 0x46b7a3
push 0
push 0xc5
push eax
call dword [esp + 0x20]
cmp dword [edi + 0x60], 0x80000000
je 0x46b79b
test bl, 4
jne 0x46b79b
and ebx, 0xffefff7f
mov eax, dword [ebp + 0x10]
add eax, 0x30
jmp 0x46b7d1
push ecx
push 0xc5
jmp 0x46b7ca
mov eax, esi
cmp dl, 0xf
jne 0x46b7d1
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
test ecx, ecx
jns 0x46b7c2
push 0
push 0
jmp 0x46b7c5
push 6
push ecx
push 0x403
push eax
call dword [esp + 0x20]
mov eax, esi
mov esi, dword [esp + 0x2c]
xor cl, cl
mov byte [esp + 0xf], cl
cmp esi, ebx
je 0x46b8d8
mov al, byte [eax]
mov byte [esp + 0xf], 1
mov byte [esp + 0x18], cl
cmp al, 4
je 0x46b879
cmp al, 9
je 0x46b81e
cmp al, 0x12
jne 0x46b88e
mov eax, dword [ebp + 0x10]
push 0
push 0
push 0x408
push dword [eax + 0x18]
call dword [esp + 0x20]
mov dword [esp + 0x40], eax
jmp 0x46b88e
mov eax, esi
and eax, 0x100000
test ebx, 0x100000
je 0x46b86a
test eax, eax
jne 0x46b88e
mov eax, dword [edi + 0x64]
test eax, eax
jns 0x46b860
lea eax, [esp + 0x290]
push eax
mov eax, dword [ebp + 0x10]
push dword [eax + 0x18]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x298]
sub eax, dword [esp + 0x290]
lea eax, [eax + eax*2]
mov dword [edi + 0x64], eax
push 0
push eax
push 0x194
jmp 0x46b884
test eax, eax
je 0x46b88e
push 0
push 0
push 0x194
jmp 0x46b884
push 1
movzx eax, bx
push eax
push 0xf4
mov eax, dword [ebp + 0x10]
push dword [eax + 0x18]
call dword [esp + 0x20]
push 0
call dword [sym.imp.KERNEL32.DLL_SetLastError]
mov eax, dword [ebp + 0x10]
push ebx
push 0xfffffffffffffff0
push dword [eax + 0x18]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
jne 0x46b8b3
call dword [sym.imp.KERNEL32.DLL_GetLastError]
test eax, eax
jne 0x46b8e2
mov eax, dword [ebp + 0x10]
push 0xfffffffffffffff0
push dword [eax + 0x18]
call dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
cmp eax, esi
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [esp + 0x18], ecx
mov cl, al
jmp 0x46b8e6
mov al, byte [esp + 0x17]
mov dword [esp + 0x18], eax
jmp 0x46b8e6
mov cl, byte [esp + 0xf]
mov eax, dword [ebp + 0x10]
push 0xffffffffffffffec
mov byte [esp + 0x1b], cl
push dword [eax + 0x18]
call dword [esp + 0x30]
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
or esi, eax
not ecx
mov dword [esp + 0x44], eax
and esi, ecx
cmp eax, esi
je 0x46b980
mov cl, byte [esp + 0xf]
movzx eax, cl
test cl, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x18]
and al, byte [esp + 0x17]
push 0
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1b], al
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push esi
mov esi, dword [ebp + 0x10]
push 0xffffffffffffffec
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SetWindowLongW]
test eax, eax
jne 0x46b960
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
test eax, eax
jne 0x46b983
push 0xffffffffffffffec
push dword [esi + 0x18]
call dword [esp + 0x30]
cmp eax, dword [esp + 0x44]
mov eax, 1
movzx ecx, byte [esp + 0x17]
cmovne ecx, eax
mov byte [esp + 0x18], cl
jmp 0x46b983
mov esi, dword [ebp + 0x10]
cmp byte [esi + 0x30], 0xa
jne 0x46b9e1
push 0
push 0
push 0x1037
push dword [esi + 0x18]
call dword [esp + 0x20]
mov esi, eax
mov eax, dword [edi + 0x10]
cmp esi, eax
je 0x46b9e1
cmp byte [esp + 0xf], 0
jne 0x46b9b3
mov byte [esp + 0xf], 1
mov byte [esp + 0x18], 0
push eax
mov eax, dword [ebp + 0x10]
push 0
push 0x1036
push dword [eax + 0x18]
call dword [esp + 0x20]
mov eax, dword [ebp + 0x10]
push 0
push 0
push 0x1037
push dword [eax + 0x18]
call dword [esp + 0x20]
cmp eax, esi
je 0x46b9e8
mov byte [esp + 0x18], 1
cmp byte [esp + 0xf], 0
je 0x46ba00
mov eax, dword [esp + 0x1c]
mov ecx, 1
cmp byte [esp + 0x18], 0
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x1c], eax
mov edx, dword [ebp + 0x10]
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
movzx eax, byte [edx + 0x30]
add eax, 0xfffffff7
cmp eax, 0x10
ja case.0x46ba20.13
movzx eax, byte [eax + 0x46c0c8]
jmp dword [eax*4 + 0x46c0a4]
cmp byte [edi + 0x18a], 0
je case.0x46ba20.13
push dword [edi + 0x38]
push dword [edi + 0x34]
push 0x46f
jmp 0x46bd34
cmp byte [edi + 0x18a], 0
mov ebx, dword [esp + 0x10]
je 0x46ba75
push dword [edi + 0x34]
push 0
push 0x407
push dword [edx + 0x18]
call ebx
push dword [edi + 0x38]
mov eax, dword [ebp + 0x10]
push 1
push 0x408
push dword [eax + 0x18]
call ebx
mov edx, dword [ebp + 0x10]
cmp byte [edi + 0x18b], 0
je 0x46ba97
mov eax, dword [edi + 0x3c]
test eax, eax
jns 0x46bb41
push 0
push 1
push 0x409
push dword [edx + 0x18]
call ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [edi + 0x40]
test eax, eax
jle 0x46bab0
push eax
push 0
push 0x417
push dword [ebx + 0x18]
call dword [esp + 0x20]
mov eax, dword [edi + 0x44]
test eax, eax
jle 0x46bac6
push eax
push 0
push 0x415
push dword [ebx + 0x18]
call dword [esp + 0x20]
mov eax, dword [edi + 0x48]
test eax, eax
jle 0x46badc
push 0
push eax
push 0x41b
push dword [ebx + 0x18]
call dword [esp + 0x20]
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x46baf3
push 0
dec eax
push eax
push 0x41f
push dword [ebx + 0x18]
call dword [esp + 0x20]
mov eax, dword [edi + 0x50]
test eax, eax
je 0x46bb0b
push dword [eax + 0x18]
push 1
push 0x420
push dword [ebx + 0x18]
call dword [esp + 0x20]
mov eax, dword [edi + 0x54]
test eax, eax
je 0x46bb23
push dword [eax + 0x18]
push 0
push 0x420
push dword [ebx + 0x18]
call dword [esp + 0x20]
test dword [edi + 4], 0x100
je case.0x46ba20.13
push 0
push 0
push 0x41d
push dword [ebx + 0x18]
jmp 0x46bd37
cmp byte [edi + 0x18c], 0
je 0x46bb57
push 0
push eax
push 0x414
jmp 0x46ba92
cmp byte [edi + 0x18a], 0
jne 0x46ba97
push 0
push 0
push 0x402
push dword [edx + 0x18]
call ebx
mov ebx, dword [ebp + 0x10]
push eax
push 1
push 0x408
push dword [ebx + 0x18]
call dword [esp + 0x20]
jmp 0x46ba9a
cmp dword [edi + 0x60], 0
mov ebx, dword [esp + 0x10]
je 0x46bbcb
push 0
push 0
push 0x1004
push dword [edx + 0x18]
call ebx
test eax, eax
jle 0x46bbbc
mov eax, dword [ebp + 0x10]
push 0
push dword [edi + 0x60]
push 0x102f
push dword [eax + 0x18]
call ebx
mov edx, dword [ebp + 0x10]
jmp 0x46bbcb
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x60]
mov ecx, dword [edx + 0x3c]
mov dword [ecx + 0x3f4], eax
mov eax, dword [edi + 0x58]
cmp eax, 0xffffffff
jne 0x46bbde
cmp dword [edi + 0x5c], eax
je case.0x46ba20.13
jmp 0x46bbf2
push eax
push 0
push 0x1024
push dword [edx + 0x18]
call ebx
mov dword [edi + 0x58], 0xffffffff
mov esi, dword [edi + 0x5c]
cmp esi, 0xffffffff
je 0x46bc2f
cmp esi, 0xff000000
jne 0x46bc0c
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov esi, eax
mov ebx, dword [ebp + 0x10]
push esi
push 0
push 0x1026
push dword [ebx + 0x18]
call dword [esp + 0x20]
push esi
push 0
push 0x1001
push dword [ebx + 0x18]
call dword [esp + 0x20]
jmp 0x46bc32
mov ebx, dword [ebp + 0x10]
push 1
push 0
push dword [ebx + 0x18]
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
call ebx
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
jmp 0x46bd41
mov eax, dword [edi + 0x58]
mov ebx, dword [esp + 0x10]
cmp eax, 0xffffffff
je 0x46bc7c
cmp eax, 0xff000000
mov ecx, 0xffffffff
cmove eax, ecx
push eax
push 0
push 0x111e
push dword [edx + 0x18]
call ebx
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x58], 0xffffffff
mov eax, dword [edi + 0x5c]
cmp eax, 0xffffffff
je case.0x46ba20.13
cmp eax, 0xff000000
mov ecx, 0xffffffff
cmove eax, ecx
push eax
push 0
push 0x111d
push dword [edx + 0x18]
call ebx
jmp case.0x46ba20.13
push ebx
push edi
push edx
call fcn.004702a0
cmp dword [esp + 0x2c], ebx
je case.0x46ba20.13
mov eax, dword [ebp + 0x10]
push 0
push dword [esp + 0x44]
push 0x402
push dword [eax + 0x18]
jmp 0x46bd37
mov ecx, dword [edi + 0x138]
test ecx, ecx
je case.0x46ba20.13
lea eax, [edi + 0x70]
push eax
push ecx
push 0xcb
push dword [edx + 0x18]
call dword [esp + 0x20]
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov dword [esp + 0x1c], eax
jmp 0x46bd45
mov ecx, dword [edi + 0x138]
test ecx, ecx
je case.0x46ba20.13
lea eax, [edi + 0x70]
push eax
push ecx
push 0x192
push dword [edx + 0x18]
call dword [esp + 0x20]
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, 1
mov dword [esp + 0x1c], eax
jmp 0x46bd45
mov eax, dword [edi + 0x5c]
cmp eax, 0xffffffff
je case.0x46ba20.13
push eax
push 0
push 0x2001
push dword [edx + 0x18]
call dword [esp + 0x20]
mov ebx, dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x58]
cmp ecx, 0xffffffff
je 0x46be00
mov eax, dword [ebp + 0x10]
movzx eax, byte [eax + 0x30]
lea edx, [eax - 0xa]
cmp edx, 4
ja case.0x46bd64.12
jmp dword [edx*4 + 0x46c0dc]
mov eax, dword [ebp + 0x10]
push ecx
push 0
push 0x1024
push dword [eax + 0x18]
call dword [esp + 0x20]
jmp 0x46bdfa
cmp ecx, 0xff000000
mov eax, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp + 0x10]
push ecx
push 0
push 0x111e
push dword [eax + 0x18]
call dword [esp + 0x20]
jmp 0x46bdfa
cmp ecx, 0xff000000
jne 0x46bdb2
push 8
call esi
mov ecx, eax
mov eax, dword [ebp + 0x10]
push ecx
push 1
push 0x1006
push dword [eax + 0x18]
call dword [esp + 0x20]
jmp 0x46bdfa
cmp ecx, 0xff000000
jne 0x46bdd4
push 8
call esi
mov ecx, eax
mov eax, dword [ebp + 0x10]
push ecx
push 1
push 0x100a
push dword [eax + 0x18]
call dword [esp + 0x20]
jmp 0x46bdfa
mov al, byte [eax + 0x4da4ec]
not al
test al, 0x20
je 0x46bdfa
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x3c], ecx
mov al, 1
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x184]
mov esi, dword [ebp + 0x10]
test ecx, ecx
je 0x46be34
xor eax, eax
cmp ecx, 3
push 0
sete al
push eax
push 0xb
push dword [esi + 0x18]
call dword [esp + 0x20]
cmp dword [edi + 0x184], 3
jne 0x46be30
cmp byte [esi + 0x30], 0xb
jne 0x46be38
mov eax, dword [esp + 0x1c]
test al, al
je 0x46be41
push 1
push 0
push dword [esi + 0x18]
call ebx
cmp byte [esp + 0xf], 0
je 0x46be76
cmp byte [esp + 0x18], 0
jne 0x46be76
push 0
push 0
push dword [0x4e9574]
mov ecx, 0x4e8f30
push 0x4cdea8
push 0x4d19c8
call fcn.0040c250
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10