Function at 0x4538b0
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov eax, dword [esi + 0x3c]
cmp dword [eax + 0x1d8], ebx
jne case.0x4538e2.40
mov edi, dword [esp + 0x40]
lea eax, [edi - 1]
cmp eax, 0x41
ja case.0x4538e2.40
xor ecx, ecx
mov cl, byte [eax + 0x45456c]
jmp dword [ecx*4 + 0x4544cc]
mov edi, dword [esp + 0x44]
cmp edi, ebx
je case.0x4538e2.40
cmp dword [esi + 0x334], ebx
jne 0x453922
mov edx, dword [esi + 0x440]
mov ecx, esi
mov dword [edi], edx
mov eax, dword [esi + 0x444]
mov dword [edi + 4], eax
call fcn.004555c0
mov dword [edi + 8], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, dword [esi + 0x440]
mov dword [edi + 0xc], ecx
mov edx, dword [esi + 0x444]
mov ecx, esi
mov dword [edi + 0x10], edx
call fcn.004555c0
mov dword [edi + 0x14], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov eax, dword [esp + 0x44]
xor ecx, ecx
cmp eax, ebx
push ebx
setl cl
dec ecx
and ecx, eax
push ecx
mov ecx, esi
call fcn.00476d60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov eax, dword [esi + 0x334]
cmp eax, ebx
jne 0x453978
cmp edi, 0x3a
je 0x45398a
cmp eax, 1
jne case.0x4538e2.40
cmp edi, 0x3b
jne case.0x4538e2.40
mov edx, dword [esp + 0x44]
pop edi
mov dword [edx], esi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
cmp dword [esi + 0x1e0], ebx
je case.0x4538e2.40
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x138]
mov ecx, dword [esi + 0x1a0]
dec eax
cmp ecx, eax
jge 0x4539fb
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov ebp, eax
xor ebx, ebx
mov eax, dword [esi + 0x1a0]
mov edx, dword [esi]
inc eax
mov ecx, esi
push eax
call dword [edx + 0x140]
call edi
sub eax, ebp
cmp eax, 0x32
ja 0x453a0d
inc ebx
cmp ebx, 5
jl 0x4539c7
push 0
mov ecx, esi
call fcn.00475e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
cmp dword [esi + 0x1a4], ebx
jge 0x453a0d
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x13c]
push 0
mov ecx, esi
call fcn.00475e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x44]
cmp edi, ebx
je case.0x4538e2.40
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x18]
cmp eax, 0xffffffff
jne 0x453a43
cmp dword [esi + 0x334], ebx
je case.0x4538e2.40
cmp ecx, 0xffffffff
jne 0x453a55
cmp dword [esi + 0x334], 1
je case.0x4538e2.40
cmp eax, 0xffffffff
jne 0x453a5c
mov eax, ecx
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, eax
call fcn.0046e840
cmp eax, ebx
je 0x453f7d
mov ecx, dword [edi + 0x24]
cmp ecx, 1
jne 0x453a8c
mov ecx, dword [eax + 0xc]
or ecx, 0x800000
jmp 0x453f7a
cmp ecx, ebx
jne 0x453f7d
mov ecx, dword [eax + 0xc]
and ecx, 0xff7fffff
jmp 0x453f7a
mov edi, dword [esp + 0x44]
cmp edi, ebx
jne 0x453b0e
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x138]
mov ebp, eax
xor edi, edi
cmp ebp, ebx
jle 0x453af7
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, eax
call fcn.0046e840
cmp eax, ebx
je 0x453af2
mov ecx, dword [eax + 0xc]
test ecx, 0x802000
je 0x453af2
and ecx, 0xff7fdfff
push edi
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x43c]
call fcn.00428c00
inc edi
cmp edi, ebp
jl 0x453abc
mov ecx, dword [esi + 0x1c]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ebp, dword [edi + 8]
mov ebx, dword [edi + 0x18]
cmp ebp, ebx
mov dword [esp + 0x44], ebp
jg 0x453b51
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx + 0x1b4]
mov ecx, eax
call fcn.0046e840
test eax, eax
je 0x453b4c
mov ecx, dword [eax + 0xc]
and ecx, 0xff7fdfff
mov dword [eax + 0xc], ecx
mov edx, dword [edi + 0x24]
cmp edx, 1
jne 0x453b4c
or ch, 0x20
mov dword [eax + 0xc], ecx
inc ebp
cmp ebp, ebx
jle 0x453b1c
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x453b74
mov eax, dword [esp + 0x44]
mov ecx, dword [esi + 0x43c]
push eax
call fcn.00428c00
mov ecx, dword [esi + 0x43c]
push ebx
call fcn.00428c00
mov ecx, dword [esi + 0x1c]
push 1
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
call fcn.004dd2f2
cmp eax, ebx
je 0x453b9e
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x453ba0
xor eax, eax
mov ecx, eax
call fcn.004ee9d0
cmp eax, esi
jne case.0x4538e2.40
lea eax, [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.00471a90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp edx, eax
je case.0x4538e2.40
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
jne case.0x4538e2.40
mov eax, dword [esp + 0x44]
mov edx, dword [esi]
push eax
lea ecx, [esp + 0x14]
lea eax, [esp + 0x1c]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x160]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 0x1c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
lea ecx, [esi + 0x270]
call fcn.004dbe49
mov eax, dword [esi + 0x278]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1b4]
mov ecx, eax
call fcn.0046e6e0
mov ebp, eax
xor edi, edi
cmp ebp, ebx
jle case.0x4538e2.40
mov ebx, dword [esp + 0x44]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, eax
call fcn.0046e840
test eax, eax
je 0x453c88
mov eax, dword [eax + 0xc]
test al, 2
je 0x453c88
shr eax, 4
and eax, 0xff
cmp eax, ebx
je 0x453c97
inc edi
cmp edi, ebp
jl 0x453c5f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
mov ecx, esi
mov dword [esp + 0x20], edi
call fcn.004775b0
lea edx, [esp + 0x18]
mov ecx, esi
push edx
call fcn.00455cf0
jmp case.0x4538e2.4
push 2
mov ecx, esi
call fcn.00478350
mov eax, dword [esi + 0x1c]
push 1
push ebx
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
call fcn.004dd2f2
cmp eax, ebx
je 0x453cf2
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x453cf4
xor eax, eax
mov ecx, eax
call fcn.004ee9d0
mov edi, dword [esp + 0x44]
cmp eax, esi
jne 0x453d0c
mov dword [edi + 0x24], 1
jmp 0x453d13
mov dword [edi + 0x24], 2
mov eax, dword [esi + 0x334]
mov ecx, dword [esi + 0x43c]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4 + 0x38]
lea ecx, [edi + 4]
push edx
call fcn.004dc008
mov ecx, esi
call fcn.004555c0
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, eax
call fcn.0046e840
cmp eax, ebx
je case.0x4538e2.40
mov eax, dword [eax + 0x10]
cmp eax, ebx
jg 0x453d5f
mov eax, 1
mov dword [edi + 8], eax
push eax
add edi, 0xc
push 0x539dcc
push edi
call fcn.004d3af7
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov eax, dword [esp + 0x44]
cmp eax, ebx
jne 0x453d97
mov ecx, esi
call fcn.0045a4e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, dword [eax + 0x14]
mov edx, dword [esi + 0x334]
cmp ecx, edx
jne case.0x4538e2.40
mov ecx, dword [eax + 0x18]
xor edx, edx
cmp ecx, ebx
mov ecx, esi
setne dl
push edx
call fcn.0045a4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, esi
call fcn.004d9ace
test eax, eax
je 0x453de2
mov ecx, esi
call fcn.004d9ace
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0xc8]
call fcn.004dd2f2
cmp eax, ebx
je 0x453df4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x453df6
xor eax, eax
mov ecx, eax
call fcn.0043bfc0
mov eax, dword [esi + 0x1c]
mov edi, dword [sym.imp.USER32.dll_GetParent]
push eax
call edi
push eax
call fcn.004d849b
test eax, eax
je 0x453e29
mov ecx, dword [esi + 0x1c]
push ecx
call edi
push eax
call fcn.004d849b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xbc]
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
push 1
push 1
push ebx
mov ecx, esi
call fcn.0045b560
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
sub edx, ecx
sub eax, ebp
push edx
push eax
push ebx
mov ecx, esi
call fcn.0045b560
call fcn.004dd2f2
cmp eax, ebx
je 0x453e74
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x453e76
xor eax, eax
mov eax, dword [eax + 0x1c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 0xe801
push 0x111
push eax
call esi
call fcn.004dd2f2
cmp eax, ebx
je 0x453e9f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x453ea1
xor eax, eax
mov eax, dword [eax + 0x1c]
push ebx
push 0xe801
push 0x111
push eax
call esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x44]
cmp dword [edi + 4], ebx
je 0x453ede
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
push ecx
push edx
mov ecx, esi
call fcn.00473020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esi + 0x338]
mov ebp, dword [esi + 0x1e0]
lea eax, [esp + 0x44]
mov dword [esp + 0x44], ebx
or edx, 8
mov ebx, 1
push eax
push 0
mov ecx, esi
mov dword [esi + 0x338], edx
mov dword [esi + 0x1e0], ebx
call fcn.00475a00
push eax
mov eax, dword [edi + 8]
or ecx, 0xffffffff
sub ecx, eax
push ecx
mov ecx, esi
call fcn.00472aa0
mov edx, dword [esp + 0x44]
mov dword [esi + 0x1e0], ebp
mov dword [edi + 8], edx
mov eax, dword [esi + 0x338]
and al, 0xf7
mov dword [esi + 0x338], eax
mov dword [edi + 4], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, esi
call fcn.004555c0
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, eax
call fcn.0046e840
cmp eax, ebx
je case.0x4538e2.40
mov ecx, dword [eax + 0xc]
test cl, 1
je 0x453f77
and ecx, 0xfffffffe
jmp 0x453f7a
or ecx, 1
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x1c]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1b4]
mov ecx, dword [esp + 0x44]
cmp dword [ecx], eax
jne case.0x4538e2.40
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
push eax
push ecx
mov ecx, esi
call fcn.004572c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1b4]
mov ecx, dword [esp + 0x44]
cmp dword [ecx], eax
jne case.0x4538e2.40
mov eax, dword [ecx + 8]
mov ecx, esi
push eax
call fcn.004574b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + 0x6c]
xor eax, eax
cmp edx, ebx
setne al
cmp eax, ecx
je case.0x4538e2.40
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x6c], eax
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je case.0x4538e2.40
mov edx, dword [esi + 0x1c]
push 1
push ebx
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, dword [esi + 0x44]
mov edx, dword [esi]
xor eax, eax
cmp ecx, ebx
sete al
mov ecx, esi
mov dword [esi + 0x44], eax
call dword [edx + 0x108]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
cmp dword [esp + 0x44], ebx
je 0x45406f
mov eax, dword [esi + 0x338]
pop edi
or al, 2
mov dword [esi + 0x338], eax
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ebp, dword [esi + 0x338]
mov eax, dword [esi + 0x1c]
push 1
and ebp, 0xfffffffd
push ebx
push eax
mov dword [esi + 0x338], ebp
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, esi
call fcn.004537b0
mov ecx, dword [esi + 0x1c]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x44]
mov eax, dword [esi + 0x1c]
mov edx, dword [edi + 4]
cmp edx, eax
jne case.0x4538e2.40
mov ecx, dword [esi + 0x43c]
push 0x807a
mov eax, dword [ecx]
call dword [eax + 0x60]
test eax, eax
je 0x4540f4
mov ecx, dword [esi + 0x43c]
push 0x807a
mov edx, dword [ecx]
call dword [edx + 0x64]
test eax, eax
je 0x4540f4
mov eax, 1
jmp 0x4540f6
xor eax, eax
cmp eax, dword [edi + 0x14]
je 0x454110
mov eax, dword [esi + 0x1c]
push ebx
push 0x807a
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 0x10]
push ebx
push ecx
mov ecx, esi
call fcn.00476d60
add edi, 8
mov ecx, esi
push edi
call fcn.004775b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ebp, dword [esp + 0x44]
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp + 4]
cmp edx, eax
jne case.0x4538e2.40
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x138]
mov edx, dword [esi]
mov ecx, esi
mov ebx, eax
call dword [edx + 0x1b4]
xor edi, edi
mov dword [esp + 0x44], eax
test ebx, ebx
jle case.0x4538e2.40
mov ecx, dword [esp + 0x44]
push edi
call fcn.004705e0
cmp eax, dword [ebp + 0xc]
je 0x454185
inc edi
cmp edi, ebx
jl 0x454167
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov dword [ebp + 0xc], edi
lea edi, [ebp + 8]
push edi
mov ecx, esi
call fcn.004775b0
push edi
mov ecx, esi
call fcn.00455cf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x44]
cmp dword [edi + 4], ebx
jne case.0x4538e2.40
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.00477520
mov ecx, dword [eax]
mov dword [edi + 8], ecx
mov ecx, esi
mov edx, dword [eax + 4]
mov dword [edi + 0xc], edx
mov eax, edx
mov edx, dword [esi]
push eax
call dword [edx + 0x1b4]
mov ecx, eax
call fcn.004705e0
mov dword [edi + 0xc], eax
mov dword [edi + 8], ebx
mov eax, dword [esi + 0x1c]
mov dword [edi + 4], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x44]
cmp dword [edi + 4], ebx
jne case.0x4538e2.40
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.00477520
mov edx, dword [eax]
push 0x807a
mov dword [edi + 8], edx
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov dword [edi + 8], ebx
mov ecx, dword [esi + 0x228]
mov dword [edi + 0x10], ecx
mov edx, dword [esi + 0x1c]
mov dword [edi + 4], edx
mov ecx, dword [esi + 0x43c]
mov eax, dword [ecx]
call dword [eax + 0x60]
test eax, eax
je 0x454265
mov esi, dword [esi + 0x43c]
push 0x807a
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x64]
test eax, eax
je 0x454265
mov eax, 1
mov dword [edi + 0x14], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
xor eax, eax
mov dword [edi + 0x14], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
call fcn.004dd2f2
cmp eax, ebx
je 0x454286
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x454288
xor eax, eax
mov ecx, eax
call fcn.004ee9d0
xor ecx, ecx
cmp eax, esi
sete cl
mov edi, ecx
call fcn.0040b6b0
mov edx, dword [eax + 0x1ac]
not edx
shr edx, 0xc
and edx, 1
mov dword [esp + 0x40], edx
je 0x4542c4
cmp dword [esi + 0x334], 1
je 0x4542cc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
cmp edi, ebx
je case.0x4538e2.40
mov eax, dword [esp + 0x44]
cmp eax, ebx
jge 0x4542d6
xor eax, eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.00455cf0
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call fcn.004775b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, esi
call fcn.00457770
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, esi
call fcn.004781c0
neg eax
sbb eax, eax
mov ecx, esi
inc eax
push eax
call fcn.004781d0
push ebx
mov ecx, esi
call fcn.00456ea0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1b4]
cmp dword [esp + 0x44], eax
jne case.0x4538e2.40
push 1
push esi
mov ecx, esi
call fcn.004d9ace
mov ecx, eax
call fcn.004ee9d7
mov ecx, esi
call fcn.0046b810
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edi, dword [esp + 0x44]
cmp edi, ebx
je case.0x4538e2.40
test byte [esi + 0x338], 1
jne case.0x4538e2.40
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.00477520
mov eax, dword [esi + 0x1e4]
mov ecx, dword [edi + 4]
cmp eax, ebx
mov dword [esp + 0x1c], ecx
jl 0x4543a7
mov dword [esp + 0x18], eax
mov ebp, dword [esi + 0x338]
lea edx, [esp + 0x18]
or ebp, 1
push edx
mov ecx, esi
mov dword [esi + 0x338], ebp
call fcn.004775b0
push ebx
mov ecx, esi
call fcn.00456ea0
mov eax, dword [esi + 0x338]
pop edi
and al, 0xfe
mov dword [esi + 0x338], eax
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, dword [esp + 0x44]
cmp dword [ecx], eax
je case.0x4538e2.40
push edi
push ecx
mov ecx, esi
call fcn.00455700
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov ecx, esi
call fcn.004546d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
push ebx
mov ecx, esi
call fcn.004547c0
push 1
push esi
mov ecx, esi
call fcn.004d9ace
mov ecx, eax
call fcn.004ee9d7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
call fcn.0040b6b0
mov ecx, dword [eax + 0x1ac]
test ch, 0x10
jne case.0x4538e2.12
mov edx, dword [esi]
push ebx
jmp 0x454468
call fcn.0040b6b0
mov ecx, dword [eax + 0x1ac]
test ch, 0x10
jne case.0x4538e2.12
mov edx, dword [esi]
push 1
mov eax, dword [esp + 0x48]
mov ecx, esi
push eax
call dword [edx + 0x130]
push ebx
mov ecx, esi
call fcn.00456ea0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esi]
mov edi, dword [esp + 0x44]
mov ecx, esi
call dword [edx + 0x138]
cmp dword [edi + 4], eax
jbe case.0x4538e2.40
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1b4]
mov ecx, dword [edi]
mov edx, dword [esi]
push ebx
push ecx
mov ecx, esi
mov ebp, eax
call dword [edx + 0x138]
mov ecx, dword [edi + 4]
sub ecx, eax
push ecx
mov ecx, ebp
call fcn.0042e700
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc