Function at 0x437430
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
sub esp, 8
mov eax, dword [0x4612b0]
xor eax, esp
mov dword [esp + 4], eax
mov eax, dword [esi + 0x18]
push ebx
push ebp
push edi
xor edi, edi
cmp eax, edi
jne 0x437479
push edi
mov dword [esi + 0x18], 1
call fcn.0043af41
add esp, 4
add eax, 0x3c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
mov ebx, 1
cmp eax, ebx
jne 0x4374b1
push edi
mov dword [esi + 0x18], 2
call fcn.0043af41
add esp, 4
add eax, 0x78
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 2
jne 0x4374f0
push edi
mov dword [esi + 0x18], 4
call fcn.0043af41
add esp, 4
add eax, 0xb4
adc edx, edi
push edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.0043af41
add esp, 4
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 4
jne 0x437524
push edi
mov dword [esi + 0x18], 5
call fcn.0043af41
add esp, 4
add eax, 0x3c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 5
jne 0x437561
push edi
mov dword [esi + 0x18], 6
call fcn.0043af41
add esp, 4
push edi
call fcn.0043af41
add esp, 4
add eax, 0x78
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 6
jne 0x437597
push edi
mov dword [esi + 0x18], 8
call fcn.0043af41
add esp, 4
add eax, 0xb4
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 8
jne 0x4375d2
mov dword [esi + 0x18], 0xa
call fcn.00417970
push edi
call fcn.0043af41
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
mov ebp, 0xa
cmp eax, ebp
jne 0x4375e4
mov dword [esi + 0x18], 0xc
jmp 0x4375a8
cmp eax, 0xc
jne 0x4375f2
mov dword [esi + 0x18], 0xe
jmp 0x4375a8
cmp eax, 0xe
jne 0x4376a0
push esi
call fcn.00437bc0
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
ja 0x4378ef
push edi
call fcn.0043af41
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.004178b0
test eax, eax
je 0x437637
call fcn.004367b0
call fcn.00436880
push edi
mov eax, esi
call fcn.00438210
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x437686
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edi, ebx
add eax, edx
cmp edi, eax
jae 0x4378ef
test edi, edi
jne 0x437637
mov dword [esi + 0x18], ebp
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
add edi, 0xf
mov dword [esi + 0x18], edi
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 0xf
jne 0x4377aa
push esi
call fcn.00437bc0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 2
je 0x4376c8
sub eax, 2
je 0x4376c8
sub eax, 4
je 0x4376c8
xor ecx, ecx
jmp 0x4376d0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, ebx
mov eax, 0xe6c2b449
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x47
jle 0x4376fa
push 0x47
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.004368f0
call fcn.00436980
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
jbe 0x437731
mov dword [esi + 0x18], ebp
call fcn.00417880
test eax, eax
je 0x437974
call fcn.0041a8a0
call fcn.00436a20
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
push edi
call fcn.0043af41
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00404360
test eax, eax
je 0x437755
call fcn.0041ab40
mov edi, ebx
push edi
mov eax, esi
call fcn.00438210
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x437686
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edi, ebx
add eax, edx
cmp edi, eax
jb 0x43778f
xor edi, edi
jmp 0x437757
cmp edi, ebx
jne 0x437757
mov dword [esi + 0x18], ebp
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 0x10
jne 0x437888
push esi
call fcn.00437bc0
call fcn.00417ab0
test eax, eax
je 0x4377c7
call fcn.00436af0
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
ja 0x4378ef
push edi
call fcn.0043af41
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00406590
test eax, eax
je 0x4377fd
call fcn.00419d50
call fcn.00401350
mov edi, 2
push edi
mov eax, esi
call fcn.00438210
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x437686
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edi, ebx
add ecx, edx
cmp edi, ecx
jb 0x43783a
xor edi, edi
jmp 0x437802
cmp edi, 2
jne 0x437802
mov dword [esi + 0x18], ebp
call fcn.00436780
test eax, eax
je 0x437850
call fcn.00436ba0
call fcn.00436780
sub eax, ebx
jne 0x437974
call fcn.00401350
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
cmp eax, 0x11
jne 0x43794f
push esi
call fcn.00437bc0
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
ja 0x4378ef
push edi
call fcn.0043af41
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
push edi
mov eax, esi
call fcn.00438210
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x437906
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edi, ebx
add eax, edx
cmp edi, eax
jae 0x4378ea
test edi, edi
jne 0x4378b6
call fcn.00436730
mov dword [esi + 0x18], ebp
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
add edi, 0xf
mov dword [esi + 0x18], edi
call fcn.00436700
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x32
jle 0x437974
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00406e10
call fcn.00436c70
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00439641
add esp, 8
ret
push edi
mov dword [esi + 0x18], edi
call fcn.0043af41
add esp, 4
add eax, 0x78
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00436730
test eax, eax
je 0x437974
call fcn.00431240
mov ecx, dword [esp + 0x10]
pop edi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00439641
add esp, 8
ret