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

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffc8
mov esi, edx
mov ebx, eax
cmp byte [ebx + 0x78], 0
je 0x621f14
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x5c]
test al, al
je 0x621f14
mov edi, dword [ebx + 0x270]
test edi, edi
je 0x621847
cmp dword [esi + 4], 0xffffffff
jne 0x621847
mov edx, esi
mov eax, edi
call fcn.00625d08
mov dword [esi + 4], eax
mov edi, dword [esi + 4]
mov eax, edi
cmp eax, 0x15
jg 0x621871
je 0x621b3c
sub eax, 8
je 0x6219f9
dec eax
je 0x621920
sub eax, 0xb
je 0x62188d
jmp 0x621c83
sub eax, 0x65
je 0x621baa
dec eax
je 0x621bf0
dec eax
je 0x621c32
jmp 0x621c83
mov eax, dword [ebx + 0x25c]
call fcn.00622034
test al, al
je 0x621f22
cmp byte [0x668544], 0
je 0x621f22
xor eax, eax
mov dword [ebx + 0x13c], eax
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
mov eax, dword [ebx + 0x254]
test byte [eax + 0x1c], 8
jne 0x621f22
mov eax, ebx
call fcn.0061e8e4
mov eax, dword [ebx + 0x254]
test eax, eax
je 0x621f22
cmp byte [eax + 0x59], 0
je 0x621f22
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x621f22
mov byte [eax + 0x35], 1
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
jmp 0x621f22
mov eax, dword [ebx + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
jne 0x621955
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x29a], 2
jne 0x621f22
mov eax, dword [ebx + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x5c]
test al, al
je 0x621f22
cmp byte [0x668544], 0
je 0x6219db
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x29e], 1
jne 0x62197f
xor eax, eax
mov dword [0x668548], eax
mov esi, dword [ebx + 0x254]
cmp byte [esi + 0x29a], 2
jne 0x6219a9
push 0
push 0xf120
push 0x112
mov eax, esi
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
jmp 0x6219c2
push 0
push 0xf030
push 0x112
mov eax, esi
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
xor edx, edx
mov eax, dword [ebx + 0x25c]
call fcn.00622df0
mov byte [0x668544], 0
jmp 0x621f22
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp 0x621f22
cmp byte [0x668544], 0
je 0x621b1e
mov edi, dword [ebx + 0x270]
test edi, edi
je 0x621a41
mov eax, dword [ebx + 0x270]
mov eax, dword [eax + 0x18]
call fcn.004e14a8
movsx edx, word [esi + 0xa]
sub edx, eax
push edx
mov eax, dword [edi + 0x18]
call fcn.004e1488
push eax
movsx eax, word [esi + 8]
pop edx
sub eax, edx
lea ecx, [esp + 4]
pop edx
call fcn.0040af30
jmp 0x621a51
push esp
movsx ecx, word [esi + 0xa]
movsx edx, word [esi + 8]
mov eax, ebx
call fcn.0061b1f4
mov edx, esp
lea eax, [ebx + 0xf4]
call fcn.0040af50
test al, al
je 0x621b0b
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
mov eax, dword [0x6690c0]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov esi, dword [ebx + 0x254]
cmp eax, esi
jne 0x621ab2
mov byte [ebx + 0x22e], 1
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
mov byte [ebx + 0x22e], 0
jmp 0x621aff
mov eax, esi
call fcn.00485c08
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x621ae2
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
jmp 0x621aff
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
mov eax, dword [ebx + 0x54]
mov byte [eax + 0x35], 1
jmp 0x621f22
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp 0x621f22
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp 0x621f22
cmp byte [0x668544], 0
je 0x621b9a
push 0
push 0xf180
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
xor edx, edx
mov eax, dword [ebx + 0x25c]
call fcn.00622df0
mov byte [0x668544], 0
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, dword [ebx + 0x254]
call fcn.0047e17c
jmp 0x621f22
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
jmp 0x621f22
cmp byte [0x668544], 0
je 0x621f22
mov byte [0x668544], 0
push 0
push 0xf060
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.004e2a5c
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00617664
jmp 0x621f22
cmp byte [0x668544], 0
je 0x621c1b
push 0
push 0xf120
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.004e2a5c
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
mov byte [0x668544], 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00617664
jmp 0x621f22
cmp byte [0x668544], 0
je 0x621c73
mov eax, dword [0x66924c]
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
call fcn.005ffc08
mov byte [0x668544], 0
push 0
push 0xf020
push 0x112
mov eax, dword [ebx + 0x254]
call fcn.004e2a5c
call fcn.00485c08
push eax
call sub.user32.dll_SendMessageW
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
jmp 0x621f22
mov eax, dword [ebx + 0x4c]
call fcn.004411cc
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, edi
mov edx, 0x3e8
call fcn.00637ce8
test al, al
je 0x621cf7
cmp byte [0x668544], 0
je 0x621ce0
movzx eax, word [0x621f2c]
push eax
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
mov edx, dword [esi + 4]
sub edx, 0x3e8
mov eax, dword [ebx + 0x4c]
call fcn.00623314
mov edx, dword [esi + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.006234a0
mov byte [0x668544], 0
mov cl, 1
xor edx, edx
mov eax, ebx
call fcn.00617664
jmp 0x621f0b
mov eax, dword [esi + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.00637ce8
test al, al
je 0x621e33
cmp byte [0x668544], 0
je 0x621f0b
cmp dword [ebx + 0xb8], 0
je 0x621f0b
mov edx, dword [esi + 4]
sub edx, 0x7d0
mov eax, dword [ebx + 0xb8]
mov eax, dword [eax + 0x3c]
call fcn.00605774
mov edi, eax
xor edx, edx
mov eax, edi
call fcn.00605474
movsx eax, word [esi + 8]
push eax
movsx eax, word [esi + 0xa]
push eax
movzx ecx, word [0x621f2c]
xor edx, edx
mov eax, edi
call fcn.006050e8
cmp byte [edi + 0x1c], 0
jne 0x621d8a
cmp dword [edi + 0xd4], 0
je 0x621e27
lea eax, [edi + 0xd4]
call fcn.00424b14
jmp 0x621e27
cmp byte [edi + 0xb0], 0
jne 0x621e27
lea eax, [esp + 8]
call fcn.005eb898
movzx eax, word [esp + 8]
mov word [esp + 0x18], ax
movzx eax, word [esp + 0xc]
mov word [esp + 0x1a], ax
mov eax, dword [ebx + 0x270]
test eax, eax
je 0x621dc9
lea edx, [esp + 0x10]
call fcn.00625d08
jmp 0x621dd4
lea edx, [esp + 0x10]
mov eax, ebx
call fcn.0060f7ac
cmp eax, dword [esi + 4]
jne 0x621e1e
mov edx, 1
mov eax, edi
call fcn.00605474
mov eax, dword [ebx + 0x270]
test eax, eax
je 0x621e03
mov eax, dword [eax + 0x18]
push eax
xor ecx, ecx
mov edx, 1
mov eax, edi
call fcn.00603d98
jmp 0x621e13
push 0
xor ecx, ecx
mov edx, 1
mov eax, edi
call fcn.00603d98
xor edx, edx
mov eax, edi
call fcn.00605474
jmp 0x621e27
xor edx, edx
mov eax, edi
call fcn.00605474
mov byte [0x668544], 0
jmp 0x621f0b
mov eax, dword [ebx + 0x254]
call fcn.00485c08
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x621e99
mov eax, dword [0x66924c]
cmp dword [eax], 0
je 0x621e89
lea edx, [esp + 0x20]
mov eax, ebx
call fcn.0061ad64
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x28]
call fcn.005eb898
add esi, dword [esp + 0x28]
push esi
lea eax, [esp + 0x34]
call fcn.005eb898
mov ecx, dword [esp + 0x38]
mov eax, ebx
pop edx
call fcn.0061ae70
jmp 0x621f0b
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
jmp 0x621f0b
cmp byte [ebx + 0x58], 1
jne 0x621efd
mov eax, dword [ebx + 0x254]
mov edx, dword [eax]
call dword [edx + 0x5c]
test al, al
je 0x621efd
mov eax, dword [ebx + 0x254]
cmp byte [eax + 0x29a], 2
je 0x621efd
cmp byte [0x66853c], 0
je 0x621efd
lea ecx, [esp + 0x20]
movsx edx, word [esi + 0xa]
movsx eax, word [esi + 8]
call fcn.0040af30
lea edx, [esp + 0x20]
mov ecx, esp
mov eax, dword [ebx + 0x254]
call fcn.0047c660
mov ecx, dword [esp + 4]
mov edx, dword [esp]
mov eax, ebx
call fcn.0061c154
call sub.user32.dll_ReleaseCapture
jmp 0x621f0b
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
mov byte [0x668544], 0
jmp 0x621f22
mov edx, esi
mov eax, dword [ebx + 0x244]
call dword [ebx + 0x240]
add esp, 0x38
pop edi
pop esi
pop ebx
ret