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

Disassembly:
sub esp, 0x70
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x7c]
push ebx
push ebp
push esi
push edi
mov esi, edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x5c], ecx
mov cl, cl
nop
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ecx, ecx
mov cl, 0x3a
mov byte [esp + 0x2c], 0x70
mov byte [esp + 0x2d], 0x69
mov byte [esp + 0x2e], 0x63
mov byte [esp + 0x2f], cl
mov byte [esp + 0x30], bl
mov dl, dl
mov al, 0x6d
mov byte [esp + 0x24], al
mov byte [esp + 0x25], 0x65
mov byte [esp + 0x26], al
mov byte [esp + 0x27], cl
mov byte [esp + 0x28], bl
mov esi, esi
mov eax, dword [esi + 0x264c]
mov ebp, 0x10
cmp dword [eax + 0x18], ebp
jb 0x100962b4
mov eax, dword [eax + 4]
jmp 0x100962b7
add eax, 4
push 4
lea edx, [esp + 0x30]
push edx
push eax
call fcn.1011a334
add esp, 0xc
test eax, eax
je 0x10096af0
mov eax, dword [esi + 0x264c]
cmp dword [eax + 0x18], ebp
jb 0x100962df
mov eax, dword [eax + 4]
jmp 0x100962e2
add eax, 4
push 4
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.1011a334
add esp, 0xc
test eax, eax
je 0x10096af0
mov edi, dword [esi + 0x18]
mov dword [esp + 0x18], edi
mov cl, cl
mov dword [esp + 0x14], edi
mov ebx, ebx
cmp dword [esi + 0x34], ebx
jne 0x1009631a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x14], eax
mov bl, bl
call fcn.10052110
mov ch, ch
cmp eax, 0x20
je 0x1009632e
cmp eax, ebp
jne 0x10096c1e
push edx
pop edx
mov dword [esp + 0x20], ebx
mov dh, dh
mov ch, ch
cmp edi, ebx
jne 0x10096376
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call ebp
mov edi, eax
mov edx, edx
push 0x4f
call ebp
mov ebp, eax
mov edx, edx
push 0x4c
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esp + 0x20], eax
mov ecx, ecx
push 0x4d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov cl, cl
add edi, dword [esp + 0x20]
xchg ebx, eax
xchg ebx, eax
add ebp, eax
mov ebx, ebx
jmp 0x100963ce
mov bh, bh
lea edx, [esp + 0x34]
push edx
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
mov ebp, ebp
push edi
call fcn.10052340
add esp, 4
mov ch, ch
cmp dword [esi + 0x34], 5
jne 0x100963ae
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x100963ae
mov edi, dword [esi + 0x2c]
mov edx, edx
mov ebp, dword [esi + 0x30]
mov ah, ah
jmp 0x100963cc
mov edi, dword [esp + 0x3c]
sub edi, dword [esp + 0x34]
mov ebx, ebx
mov ebp, dword [esp + 0x40]
sub ebp, dword [esp + 0x38]
xchg ebx, eax
xchg ebx, eax
mov dword [esi + 0x2c], edi
mov dh, dh
mov dword [esi + 0x30], ebp
mov ah, ah
mov eax, ebx
mov ecx, dword [esp + 0x84]
cmp ecx, edi
jl 0x100964a6
cmp dword [esp + 0x18], ebx
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x78
mov byte [esp + 0x3f], 0xf3
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x47], 0xed
mov byte [esp + 0x48], 0xb6
mov byte [esp + 0x49], 0xc8
mov byte [esp + 0x4a], bl
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
je 0x1009646c
mov al, 0xb4
mov byte [esp + 0x3e], al
mov cl, 0xda
mov byte [esp + 0x42], al
mov al, 0xbf
mov byte [esp + 0x41], cl
mov byte [esp + 0x43], 0xb0
mov byte [esp + 0x44], al
mov byte [esp + 0x45], cl
mov byte [esp + 0x46], al
push ebx
pop ebx
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10051e90
add esp, 8
mov al, al
jmp 0x10096e87
mov byte [esp + 0x3e], 0xb4
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0xc6
mov byte [esp + 0x43], 0xc1
mov byte [esp + 0x44], 0xc4
mov byte [esp + 0x45], 0xbb
mov byte [esp + 0x46], 0xbf
push ecx
pop ecx
lea ecx, [esp + 0x34]
push ecx
push esi
call fcn.10051e90
add esp, 8
mov bl, bl
jmp 0x10096e87
mov edi, dword [esp + 0x88]
cmp edi, ebp
jl 0x10096579
cmp dword [esp + 0x18], ebx
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x79
mov byte [esp + 0x3f], 0xf3
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x46], 0xb8
mov byte [esp + 0x47], 0xdf
mov byte [esp + 0x48], 0xb6
mov byte [esp + 0x49], 0xc8
mov byte [esp + 0x4a], bl
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
je 0x10096544
mov al, 0xb4
mov cl, 0xda
mov byte [esp + 0x3e], al
mov byte [esp + 0x41], cl
mov byte [esp + 0x42], al
mov byte [esp + 0x43], 0xb0
mov byte [esp + 0x44], 0xbf
mov byte [esp + 0x45], cl
mov dh, dh
lea edx, [esp + 0x34]
push edx
push esi
call fcn.10051e90
add esp, 8
xchg ebx, eax
xchg ebx, eax
jmp 0x10096e87
mov byte [esp + 0x3e], 0xb4
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0xc6
mov byte [esp + 0x43], 0xc1
mov byte [esp + 0x44], 0xc4
mov byte [esp + 0x45], 0xbb
mov cl, cl
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10051e90
add esp, 8
mov edx, edx
jmp 0x10096e87
cmp ecx, dword [esp + 0x20]
jge 0x100965e5
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x78
mov byte [esp + 0x3e], 0xd0
mov byte [esp + 0x3f], 0xa1
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0x30
mov byte [esp + 0x43], bl
xchg ebx, eax
xchg ebx, eax
lea ecx, [esp + 0x34]
push ecx
push esi
call fcn.10051e90
add esp, 8
mov ch, ch
jmp 0x10096e87
cmp edi, eax
jge 0x1009664f
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x79
mov byte [esp + 0x3e], 0xd0
mov byte [esp + 0x3f], 0xa1
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0x30
mov byte [esp + 0x43], bl
mov ebx, ebx
lea edx, [esp + 0x34]
push edx
push esi
call fcn.10051e90
add esp, 8
push edx
pop edx
jmp 0x10096e87
mov eax, dword [esp + 0x6c]
mov dword [eax], ecx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x5c]
mov dword [edx], edi
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esi + 0x34]
cmp eax, ebx
jne 0x1009679e
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
push ebx
pop ebx
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x10096693
lea ecx, [esp + 0x5c]
push ecx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
push 1
push 1
add edx, edi
push edx
add eax, ecx
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
call fcn.10013af0
add esp, 0x18
mov edi, edi
cmp eax, ebx
jne 0x1009677b
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov ebp, eax
push ecx
pop ecx
cmp ebp, ebx
jne 0x10096746
mov al, 0xb4
mov byte [esp + 0x34], al
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0xbd
mov byte [esp + 0x37], 0xa8
mov byte [esp + 0x38], 0x44
mov byte [esp + 0x39], 0x49
mov byte [esp + 0x3a], 0x53
mov byte [esp + 0x3b], 0x50
mov byte [esp + 0x3c], 0x4c
mov byte [esp + 0x3d], 0x41
mov byte [esp + 0x3e], 0x59
mov byte [esp + 0x3f], 0xca
mov byte [esp + 0x40], 0xa7
mov byte [esp + 0x41], 0xb0
mov byte [esp + 0x42], 0xdc
mov byte [esp + 0x43], bl
mov edi, edi
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10051e90
add esp, 8
push edx
pop edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x84]
add ecx, edi
push ecx
add edx, eax
push edx
push ebp
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [esp + 0x10], eax
mov ebx, ebx
mov ecx, dword [esp + 0x14]
push ebp
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
push ecx
pop ecx
jmp 0x10096e87
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + 0x12]
movzx ecx, al
shl ecx, 0x10
or edx, ecx
and eax, 0xff00ff00
or edx, eax
mov dword [esp + 0x10], edx
mov dh, dh
jmp 0x10096e87
cmp eax, 1
je 0x100969ed
cmp eax, 3
je 0x100969ed
cmp eax, 2
je 0x1009681f
cmp eax, 4
je 0x1009681f
cmp eax, 5
jne 0x10096e87
mov byte [esp + 0x14], bl
mov word [esp + 0x15], bx
mov byte [esp + 0x17], bl
push ecx
pop ecx
lea edx, [edi + 1]
push edx
mov edx, dword [esi + 0x18]
lea eax, [ecx + 1]
push eax
push edi
push ecx
lea ecx, [esp + 0x24]
push ecx
push edx
push esi
call fcn.100cfe20
add esp, 0x1c
push edx
pop edx
cmp eax, ebx
je 0x10096e87
mov eax, eax
mov al, byte [esp + 0x14]
push ebx
pop ebx
mov cl, byte [esp + 0x16]
mov byte [esp + 0x14], cl
mov ah, ah
mov byte [esp + 0x16], al
mov cl, cl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
mov ecx, ecx
jmp 0x10096e87
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov edi, eax
mov dword [esp + 0x1c], edi
mov bl, bl
cmp edi, ebx
jne 0x100968ac
mov al, 0xb4
mov byte [esp + 0x5c], al
mov byte [esp + 0x5d], al
mov byte [esp + 0x5e], 0xbd
mov byte [esp + 0x5f], 0xa8
mov byte [esp + 0x60], 0x44
mov byte [esp + 0x61], 0x49
mov byte [esp + 0x62], 0x53
mov byte [esp + 0x63], 0x50
mov byte [esp + 0x64], 0x4c
mov byte [esp + 0x65], 0x41
mov byte [esp + 0x66], 0x59
mov byte [esp + 0x67], 0xca
mov byte [esp + 0x68], 0xa7
mov byte [esp + 0x69], 0xb0
mov byte [esp + 0x6a], 0xdc
mov byte [esp + 0x6b], bl
mov cl, cl
lea ecx, [esp + 0x5c]
push ecx
push esi
call fcn.10051e90
add esp, 8
mov dh, dh
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
push ecx
pop ecx
mov ebp, dword [esp + 0x18]
lea edx, [esp + 0x34]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetWindowRect]
push ecx
pop ecx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov ch, ch
lea eax, [esp + 0x6c]
push eax
push ebp
call dword [sym.imp.USER32.dll_ClientToScreen]
push edx
pop edx
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 0x34]
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ebp, eax
push edx
pop edx
cmp ebp, ebx
push edi
jne 0x1009692c
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebx
pop ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
mov cl, cl
cmp edi, ebx
jne 0x1009696a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ch, ch
push ebp
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
push ebp
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x5c], eax
push ebx
pop ebx
mov eax, dword [esp + 0x18]
push ebx
push edi
push eax
push esi
call fcn.10062c10
add esp, 0x10
mov ebx, ebx
mov ecx, dword [esp + 0x70]
sub ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x34]
add ecx, dword [esp + 0x88]
add edx, dword [esp + 0x84]
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [esp + 0x10], eax
mov ecx, ecx
mov eax, dword [esp + 0x5c]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov bh, bh
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
nop
push ebp
call dword [sym.imp.GDI32.dll_DeleteObject]
mov cl, cl
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
push edx
pop edx
jmp 0x10096e87
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov ebp, eax
mov ch, ch
cmp ebp, ebx
jne 0x10096a76
mov al, 0xb4
mov byte [esp + 0x6c], al
mov byte [esp + 0x6d], al
mov byte [esp + 0x6e], 0xbd
mov byte [esp + 0x6f], 0xa8
mov byte [esp + 0x70], 0x44
mov byte [esp + 0x71], 0x49
mov byte [esp + 0x72], 0x53
mov byte [esp + 0x73], 0x50
mov byte [esp + 0x74], 0x4c
mov byte [esp + 0x75], 0x41
mov byte [esp + 0x76], 0x59
mov byte [esp + 0x77], 0xca
mov byte [esp + 0x78], 0xa7
mov byte [esp + 0x79], 0xb0
mov byte [esp + 0x7a], 0xdc
mov byte [esp + 0x7b], bl
mov cl, cl
lea ecx, [esp + 0x6c]
push ecx
push esi
call fcn.10051e90
add esp, 8
mov bh, bh
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov edi, edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
nop
mov esi, dword [esp + 0x18]
cmp esi, ebx
je 0x10096ab5
lea edx, [esp + 0x34]
push edx
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
push edx
pop edx
lea eax, [esp + 0x5c]
push eax
push esi
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ah, ah
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
sub ecx, dword [esp + 0x38]
sub edx, dword [esp + 0x34]
add ecx, edi
add edx, dword [esp + 0x84]
push ecx
push edx
push ebp
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [esp + 0x10], eax
mov bh, bh
mov eax, dword [esp + 0x14]
push ebp
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov bh, bh
jmp 0x10096e87
push ebx
pop ebx
mov dword [esp + 0x18], ebx
mov ebx, ebx
mov bh, bh
mov eax, dword [esi + 0x264c]
cmp dword [eax + 0x18], ebp
jb 0x10096b0a
mov eax, dword [eax + 4]
jmp 0x10096b0d
add eax, 4
lea ebp, [eax + 4]
xchg ebx, eax
xchg ebx, eax
xor edi, edi
mov edi, edi
mov eax, dword [esi + 0x264c]
cmp dword [eax + 0x18], 0x10
jb 0x10096b27
mov eax, dword [eax + 4]
jmp 0x10096b2a
add eax, 4
push 4
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.1011a334
add esp, 0xc
test eax, eax
jne 0x10096b45
mov edi, 1
mov dl, dl
push ebx
push edi
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x44]
push ecx
push ebp
push esi
call fcn.1007e250
add esp, 0x1c
test eax, eax
je 0x10096c1e
mov dl, dl
xchg ebx, eax
xchg ebx, eax
mov bl, bl
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x38]
jl 0x10096c33
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x78
mov byte [esp + 0x3e], 0xb4
mov byte [esp + 0x3f], 0xf3
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0xcd
mov byte [esp + 0x43], 0xbc
mov byte [esp + 0x44], 0xc6
mov byte [esp + 0x45], 0xac
mov byte [esp + 0x46], 0xbf
mov byte [esp + 0x47], 0xed
mov byte [esp + 0x48], 0xb6
mov byte [esp + 0x49], 0xc8
mov byte [esp + 0x4a], bl
push ecx
pop ecx
lea edx, [esp + 0x34]
push edx
push esi
call fcn.10051e90
add esp, 8
push ebx
pop ebx
cmp edi, ebx
jne 0x10096c0f
cmp dword [esi + 0x32f8], ebx
jne 0x10096c1e
mov eax, dword [esp + 0x18]
push eax
call fcn.1011745c
add esp, 4
mov eax, eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x3c]
jl 0x10096cf8
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x79
mov byte [esp + 0x3e], 0xb4
mov byte [esp + 0x3f], 0xf3
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0xcd
mov byte [esp + 0x43], 0xbc
mov byte [esp + 0x44], 0xc6
mov byte [esp + 0x45], 0xac
mov byte [esp + 0x46], 0xb8
mov byte [esp + 0x47], 0xdf
mov byte [esp + 0x48], 0xb6
mov byte [esp + 0x49], 0xc8
mov byte [esp + 0x4a], bl
mov dl, dl
lea ecx, [esp + 0x34]
push ecx
push esi
call fcn.10051e90
add esp, 8
mov edx, edx
cmp edi, ebx
jne 0x10096cd4
cmp dword [esi + 0x32f8], ebx
jne 0x10096ce3
mov edx, dword [esp + 0x18]
push edx
call fcn.1011745c
add esp, 4
mov edi, edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
cmp ecx, ebx
jge 0x10096d91
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x78
mov byte [esp + 0x3e], 0xd0
mov byte [esp + 0x3f], 0xa1
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0x30
mov byte [esp + 0x43], bl
mov dh, dh
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10051e90
add esp, 8
mov bh, bh
cmp edi, ebx
jne 0x10096d6d
cmp dword [esi + 0x32f8], ebx
jne 0x10096d7c
mov ecx, dword [esp + 0x18]
push ecx
call fcn.1011745c
add esp, 4
mov eax, eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
cmp eax, ebx
jge 0x10096e2a
mov al, 0xbd
mov byte [esp + 0x34], 0xd7
mov byte [esp + 0x35], 0xf8
mov byte [esp + 0x36], 0xb1
mov byte [esp + 0x37], 0xea
mov byte [esp + 0x38], 0xd4
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], 0xe7
mov byte [esp + 0x3c], 0x20
mov byte [esp + 0x3d], 0x79
mov byte [esp + 0x3e], 0xd0
mov byte [esp + 0x3f], 0xa1
mov byte [esp + 0x40], 0xd3
mov byte [esp + 0x41], 0xda
mov byte [esp + 0x42], 0x30
mov byte [esp + 0x43], bl
mov dh, dh
lea edx, [esp + 0x34]
push edx
push esi
call fcn.10051e90
add esp, 8
mov edi, edi
cmp edi, ebx
jne 0x10096e06
cmp dword [esi + 0x32f8], ebx
jne 0x10096e15
mov eax, dword [esp + 0x18]
push eax
call fcn.1011745c
add esp, 4
mov esi, esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret
mov edx, dword [esp + 0x6c]
mov dword [edx], ecx
mov eax, eax
mov edx, dword [esp + 0x5c]
mov dword [edx], eax
mov ah, ah
mov ecx, ecx
mov bl, bl
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
imul edx, eax
add edx, ebp
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x18], eax
mov edi, edi
mov esi, esi
mov cl, byte [esp + 0x1a]
mov byte [esp + 0x18], cl
mov esi, esi
mov byte [esp + 0x1a], al
push ebx
pop ebx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov cl, cl
cmp edi, ebx
jne 0x10096e7c
cmp dword [esi + 0x32f8], ebx
jne 0x10096e87
push ebp
call fcn.1011745c
add esp, 4
mov bl, bl
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10117937
add esp, 0x70
ret