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

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x24c106b
push eax
mov eax, 0xd450
mov dword fs:[0], esp
call fcn.024adb70
push ebx
mov ebx, dword [esp + 0xd464]
push ebp
push esi
push edi
xor edi, edi
cmp ebx, edi
mov esi, ecx
mov dword [esp + 0x3c], esi
je case.default.0x244bf43
mov ebp, dword [esp + 0xd474]
cmp ebp, edi
je case.default.0x244bf43
call fcn.0243f870
test eax, eax
je 0x244bf02
mov dword [ebx], 1
mov eax, 1
jmp 0x244bfd0
mov eax, dword [esi + 0x8f8]
mov eax, dword [eax + 0x10]
lea ebx, [eax + 0x2168]
cmp ebx, edi
mov dword [esp + 0x8c], ebx
je case.default.0x244bf43
mov dword [esp + 0x84], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov eax, dword [ebp]
dec eax
cmp eax, 4
mov dword [esp + 0xd468], edi
ja case.default.0x244bf43
jmp dword [eax*4 + 0x244d5d0]
mov edx, dword [ebp + 4]
xor esi, esi
xor ebx, ebx
neg edx
lea ecx, [esp + 0x10]
sbb edx, edx
push ecx
mov ecx, dword [0x24e27c8]
add edx, 0xa068
mov dword [esp + 0xac], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x94], edi
call fcn.02481110
test eax, eax
je 0x244bfc5
lea ecx, [ebp + 8]
call fcn.0247f850
test eax, eax
je 0x244bfc5
lea ecx, [ebp + 0x10]
call fcn.0247f850
test eax, eax
je 0x244bfc5
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x48]
mov byte [esp + 0xd468], 1
call fcn.0243fac0
test eax, eax
jne 0x244bfeb
lea ecx, [esp + 0x48]
call fcn.024017d0
lea ecx, [esp + 0x10]
call fcn.024017d0
xor eax, eax
mov ecx, dword [esp + 0xd460]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xd45c
ret 8
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x894]
push edi
push edx
mov edx, dword [esp + 0x1c]
call fcn.0244ade0
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
cmp dword [ebp + 4], edi
mov byte [esp + 0xd468], 2
je 0x244c037
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x90]
call fcn.02459cc0
jmp 0x244c04b
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x28]
call fcn.0241ce80
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, 1
cmp ecx, eax
jne 0x244ca08
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x8f8]
mov ecx, dword [edx]
and ecx, 0xff000000
cmp ecx, 0x1000000
jb 0x244c081
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xd470]
cmp dword [eax + 4], edi
jne 0x244ca08
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
cmp dword [eax + 8], edi
mov byte [esp + 0xd468], 0xb
je 0x244c16f
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244d178
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c164
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c14f
jmp 0x244d178
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x34]
call fcn.0243fac0
test eax, eax
jne 0x244c208
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c1fd
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c1e8
jmp 0x244bfbc
mov eax, dword [esp + 0x24]
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x244c219
add eax, 8
jmp 0x244c21b
xor eax, eax
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push edx
push eax
lea ecx, [esp + 0x78]
call fcn.02440920
test eax, eax
jne 0x244c2b9
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c2ae
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c299
jmp 0x244bfbc
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push ecx
push edx
lea ecx, [esp + 0x70]
call fcn.02440920
test eax, eax
jne 0x244c357
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c34c
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c337
jmp 0x244bfbc
mov eax, dword [esp + 0x24]
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x244c368
add eax, 8
jmp 0x244c36a
xor eax, eax
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
push ecx
push edx
lea ecx, [esp + 0x80]
call fcn.02441380
test eax, eax
jne 0x244c40b
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c400
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c3eb
jmp 0x244bfbc
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.02441380
test eax, eax
jne 0x244c4a9
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c49e
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c489
jmp 0x244bfbc
mov ecx, dword [ebp + 4]
lea edx, [esp + 0x40]
push edx
xor edx, edx
cmp ecx, edi
mov ecx, dword [0x24e27c8]
setne dl
add edx, 0xa079
call fcn.02481110
test eax, eax
jne 0x244c556
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c54b
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c536
jmp 0x244bfbc
mov edx, dword [ebp + 4]
mov ecx, dword [0x24e27c8]
neg edx
lea eax, [esp + 0x60]
sbb edx, edx
push eax
add edx, 0xa07a
call fcn.02481110
test eax, eax
jne 0x244c600
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c5f5
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c5e0
jmp 0x244bfbc
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [0x24e27c8]
mov edx, 0xa07d
call fcn.02481110
test eax, eax
jne 0x244c6a2
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c697
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c682
jmp 0x244bfbc
mov ecx, dword [0x24e27c8]
lea edx, [esp + 0x58]
push edx
mov edx, 0xa07b
call fcn.02481110
test eax, eax
jne 0x244c744
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c739
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c724
jmp 0x244bfbc
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
push 0x24db56c
lea eax, [esp + 0x12c]
push 0x400
push eax
mov word [esp + 0x134], di
call fcn.024ae131
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x90]
add esp, 0x24
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
push 0x24db56c
lea ecx, [esp + 0x92c]
push 0x400
push ecx
mov word [esp + 0x932], di
mov word [esp + 0x934], di
call fcn.024ae131
mov eax, dword [esp + 0x5c]
xor edx, edx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], edx
add esp, 0x24
lea ecx, [esp + 0x110]
lea edx, [esp + 0x910]
push edi
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edx
push eax
mov edx, 1
lea ecx, [esp + 0x9c]
mov word [esp + 0x1116], di
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], eax
call fcn.024417d0
test eax, eax
jne 0x244c8bf
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov ecx, dword [esp + 0x24]
cmp ecx, edi
mov byte [esp + 0xd468], 1
je 0x244bfbc
cmp ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
je 0x244c8b4
push 1
call fcn.0241e550
mov eax, dword [esp + 0x28]
cmp eax, edi
mov ecx, eax
jne 0x244c89f
jmp 0x244bfbc
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0x894]
mov ecx, dword [0x24e27c8]
lea eax, [esp + 0x94]
push eax
push 0x241c430
push edx
mov edx, 0xbf
call fcn.02481700
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x94]
push eax
call dword [sym.imp.user32.dll_DestroyCursor]
mov ecx, dword [esp + 0x88]
lea eax, [ecx - 1]
cmp eax, 3
mov dword [esp + 0x94], edi
ja case.default.0x244c916
jmp dword [eax*4 + 0x244d5e4]
mov edx, dword [esp + 0xd470]
mov dword [edx + 4], 1
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244c944
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x7c]
cmp eax, edi
mov dword [esp + 0x78], edi
je 0x244c95d
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x7c], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
mov dword [esp + 0x68], edi
je 0x244c976
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
mov dword [esp + 0x70], edi
je 0x244c98f
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x5c]
cmp eax, edi
mov dword [esp + 0x58], edi
je 0x244c9a8
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x54]
cmp eax, edi
mov dword [esp + 0x50], edi
je 0x244c9c1
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x54], edi
mov eax, dword [esp + 0x64]
cmp eax, edi
mov dword [esp + 0x60], edi
je 0x244c9da
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x64], edi
mov eax, dword [esp + 0x44]
cmp eax, edi
mov dword [esp + 0x40], edi
je 0x244c9f3
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x38]
cmp eax, edi
mov dword [esp + 0x34], edi
je 0x244ca08
push eax
call fcn.024ad03a
add esp, 4
mov eax, dword [esp + 0x24]
cmp eax, edi
mov byte [esp + 0xd468], 1
mov dword [esp + 0x20], eax
je 0x244ca4d
cmp eax, edi
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
je 0x244ca43
mov edx, dword [esp + 0x20]
lea ecx, [edx + 8]
call fcn.0241c690
mov eax, dword [esp + 0x20]
push eax
call fcn.024adc89
mov ecx, dword [esp + 0x2c]
add esp, 4
cmp ecx, edi
mov eax, ecx
mov dword [esp + 0x20], eax
jne 0x244ca1c
cmp dword [ebp + 4], edi
je 0x244cf1b
mov ecx, dword [esp + 0x3c]
call fcn.0243f870
test eax, eax
jne 0x244cea5
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
or eax, ecx
je 0x244cd12
push edi
push 0x64
push esi
push ebx
call fcn.024ade50
mov ecx, dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
call fcn.024add40
mov dword [esp + 0x20], eax
jmp 0x244cd1a
lea ecx, [esp + 0x18]
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
lea ecx, [esp + 0x40]
call fcn.024017d0
lea ecx, [esp + 0x34]
call fcn.024017d0
mov esi, dword [esp + 0x24]
cmp esi, edi
mov byte [esp + 0xd468], 1
je 0x244d178
cmp esi, edi
mov eax, dword [esi]
mov dword [esp + 0x28], eax
je 0x244cb1b
lea ecx, [esi + 8]
call fcn.0241c690
push esi
call fcn.024adc89
mov eax, dword [esp + 0x2c]
add esp, 4
cmp eax, edi
mov esi, eax
jne 0x244cafc
jmp 0x244d178
mov eax, dword [esp + 0xd470]
lea ecx, [esp + 0x18]
mov dword [eax + 8], 1
call fcn.024017d0
lea ecx, [esp + 0x78]
call fcn.024017d0
lea ecx, [esp + 0x68]
call fcn.024017d0
lea ecx, [esp + 0x70]
call fcn.024017d0
lea ecx, [esp + 0x58]
call fcn.024017d0
lea ecx, [esp + 0x50]
call fcn.024017d0
lea ecx, [esp + 0x60]
call fcn.024017d0
mov eax, dword [esp + 0x44]
cmp eax, edi
mov dword [esp + 0x40], edi
je 0x244cb8c
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x38]
cmp eax, edi
mov dword [esp + 0x34], edi
je 0x244cba5
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x38], edi
mov esi, dword [esp + 0x24]
cmp esi, edi
mov byte [esp + 0xd468], 1
je 0x244d178
cmp esi, edi
mov eax, dword [esi]
mov dword [esp + 0x28], eax
je 0x244cbd8
lea ecx, [esi + 8]
call fcn.0241c690
push esi
call fcn.024adc89
mov eax, dword [esp + 0x2c]
add esp, 4
cmp eax, edi
mov esi, eax
jne 0x244cbb9
jmp 0x244d178
mov ecx, dword [esp + 0xd470]
mov dword [ecx], 1
lea ecx, [esp + 0x18]
call fcn.024017d0
mov eax, dword [esp + 0x7c]
cmp eax, edi
mov dword [esp + 0x78], edi
je 0x244cc12
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x7c], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
mov dword [esp + 0x68], edi
je 0x244cc2b
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
mov dword [esp + 0x70], edi
je 0x244cc44
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x5c]
cmp eax, edi
mov dword [esp + 0x58], edi
je 0x244cc5d
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x54]
cmp eax, edi
mov dword [esp + 0x50], edi
je 0x244cc76
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x54], edi
mov eax, dword [esp + 0x64]
cmp eax, edi
mov dword [esp + 0x60], edi
je 0x244cc8f
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x64], edi
mov eax, dword [esp + 0x44]
cmp eax, edi
mov dword [esp + 0x40], edi
je 0x244cca8
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x38]
cmp eax, edi
mov dword [esp + 0x34], edi
je 0x244ccc1
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x38], edi
mov esi, dword [esp + 0x24]
cmp esi, edi
mov byte [esp + 0xd468], 1
je 0x244ccf6
cmp esi, edi
mov eax, dword [esi]
mov dword [esp + 0x28], eax
je 0x244ccf0
lea ecx, [esi + 8]
call fcn.0241c690
push esi
call fcn.024adc89
mov eax, dword [esp + 0x2c]
add esp, 4
cmp eax, edi
mov esi, eax
jne 0x244ccd1
lea ecx, [esp + 0x48]
call fcn.024017d0
lea ecx, [esp + 0x10]
call fcn.024017d0
mov eax, 1
jmp 0x244bfd0
mov dword [esp + 0x20], 0x64
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 0xa
mov eax, ebx
mov edx, esi
mov word [esp + 0xb0], di
call fcn.024add20
push edx
push eax
lea edx, [esp + 0xb8]
push 0x24db54c
push edx
call fcn.024adda8
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x28]
add esp, 0x14
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x894]
mov word [esp + 0x116], di
call fcn.0244ade0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x894]
call fcn.0244ae30
cmp dword [esp + 0x90], edi
je 0x244ce32
mov edx, dword [ebp + 0x14]
mov eax, 0xc350
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
push eax
push esi
push ebx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x9c]
call fcn.024598d0
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x84]
push edx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x24]
push eax
push esi
push ebx
lea edx, [esp + 0xa4]
call fcn.0241cd10
cmp dword [esp + 0x34], edi
mov edx, dword [esp + 0x20]
mov dword [esp + 0x80], edx
je 0x244ce25
test eax, eax
je 0x244ce25
mov eax, dword [esp + 0x88]
test eax, eax
je 0x244ce25
cmp eax, edx
jne 0x244ce25
mov ecx, 4
lea edi, [esp + 0x94]
lea esi, [esp + 0x24]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
mov esi, dword [esp + 0xa8]
je 0x244ce8e
mov dword [esp + 0x90], 0
xor edi, edi
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x1114]
push eax
push esi
lea edx, [esp + 0x8c]
push ebx
mov dword [esp + 0x90], 0xc350
call fcn.0241c810
test eax, eax
je 0x244cec0
mov eax, dword [esp + 0x80]
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x1110]
push ecx
mov ecx, dword [esp + 0x90]
push eax
push esi
push ebx
call fcn.024583d0
test eax, eax
je 0x244cec0
mov edx, dword [esp + 0x80]
test edx, edx
je 0x244cec9
add ebx, edx
adc esi, 0
mov dword [esp + 0xa8], esi
xor edi, edi
jmp 0x244ca56
mov ecx, dword [esp + 0xd470]
mov dword [ecx], 1
lea ecx, [esp + 0x48]
call fcn.024017d0
jmp 0x244d5b0
mov dword [esp + 0x20], edi
jmp 0x244d165
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x8f8]
mov ecx, dword [eax]
and ecx, 0xff000000
cmp ecx, 0x1000000
jb 0x244d15d
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x24]
push ecx
mov ecx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x30]
push ecx
mov ecx, dword [esp + 0x9c]
push eax
call fcn.02459510
test eax, eax
jne 0x244d15d
mov dword [esp + 0x20], eax
jmp 0x244d165
mov ecx, dword [esp + 0x3c]
call fcn.0243f870
test eax, eax
jne 0x244d0e3
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
mov ecx, edi
or ecx, eax
je 0x244cf53
push 0
push 0x64
push esi
push ebx
call fcn.024ade50
mov ecx, dword [ebp + 0x1c]
push ecx
push edi
push edx
push eax
call fcn.024add40
mov edi, eax
jmp 0x244cf58
mov edi, 0x64
push edi
mov ecx, 0xa
mov eax, ebx
mov edx, esi
mov word [esp + 0xb0], 0
call fcn.024add20
push edx
push eax
lea edx, [esp + 0xb8]
push 0x24db54c
push edx
call fcn.024adda8
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x28]
add esp, 0x14
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [eax + 0x894]
mov word [esp + 0x116], 0
call fcn.0244ade0
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + 0x894]
mov edx, edi
call fcn.0244ae30
mov eax, dword [esp + 0x90]
test eax, eax
je 0x244d068
mov edx, dword [ebp + 0xc]
mov eax, 0xc350
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
push eax
push esi
push ebx
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x9c]
call fcn.024598d0
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x84]
push edx
mov edi, eax
lea eax, [esp + 0x24]
push eax
push esi
push ebx
lea edx, [esp + 0xa4]
call fcn.0241cd10
test edi, edi
mov edx, dword [esp + 0x88]
mov dword [esp + 0x80], edx
je 0x244d05d
test eax, eax
je 0x244d05d
test edx, edx
je 0x244d05d
cmp edx, dword [esp + 0x20]
jne 0x244d05d
mov ecx, 4
lea edi, [esp + 0x94]
lea esi, [esp + 0x24]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
mov esi, dword [esp + 0xa8]
je 0x244d0cc
mov dword [esp + 0x90], 0
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x1110]
push ecx
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x84]
push eax
push esi
push ebx
mov dword [esp + 0x90], 0xc350
call fcn.02458740
test eax, eax
je 0x244d153
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
lea eax, [esp + 0x1114]
push eax
push esi
push ebx
call fcn.0241c8f0
test eax, eax
je 0x244d153
mov edx, dword [esp + 0x80]
test edx, edx
je 0x244d112
add ebx, edx
adc esi, 0
mov dword [esp + 0xa8], esi
xor edi, edi
jmp 0x244cf1b
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov ecx, dword [esp + 0xd470]
mov dword [ecx], 1
mov dword [esp + 0x48], edi
je 0x244d5b0
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x4c], edi
jmp 0x244d5b0
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x8f8]
mov ecx, dword [eax]
and ecx, 0xff000000
cmp ecx, 0x1000000
jb 0x244d15d
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x84]
push edx
mov edx, dword [ebp + 0x28]
push eax
mov eax, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push eax
push edx
mov edx, dword [ebp + 0x30]
call fcn.0241cbb0
test eax, eax
jne 0x244d15d
mov dword [esp + 0x20], 0
jmp 0x244d165
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x894]
xor edx, edx
call fcn.0244ae30
xor edi, edi
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov byte [esp + 0xd468], 0
mov dword [esp + 0x48], edi
je 0x244d500
jmp 0x244d4f7
mov edx, dword [ebp + 4]
neg edx
lea ecx, [esp + 0x10]
sbb edx, edx
push ecx
mov ecx, dword [0x24e27c8]
add edx, 0xa060
call fcn.02481110
test eax, eax
jne 0x244d1d4
mov eax, dword [esp + 0x14]
cmp eax, edi
mov dword [esp + 0x10], edi
je case.default.0x244bf43
push eax
call fcn.024ad03a
add esp, 4
jmp case.default.0x244bf43
lea ecx, [ebp + 8]
call fcn.0247f850
test eax, eax
je 0x244d1b6
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x18]
mov byte [esp + 0xd468], 0xc
call fcn.0243fac0
test eax, eax
jne 0x244d21b
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244d1b6
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x244d1b6
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x894]
push edi
push edx
mov edx, dword [esp + 0x1c]
call fcn.0244ade0
cmp dword [ebp + 4], edi
je 0x244d241
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.02458bb0
jmp 0x244d252
mov ebp, dword [ebp + 0xc]
lea edx, [esp + 0x84]
mov ecx, ebp
call fcn.0241ca80
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov byte [esp + 0xd468], 0
mov dword [esp + 0x18], edi
je 0x244d500
jmp 0x244d4f7
mov edx, dword [ebp + 4]
mov ecx, dword [0x24e27c8]
neg edx
sbb edx, edx
lea eax, [esp + 0x10]
add edx, 0xa062
push eax
call fcn.02481110
test eax, eax
je 0x244d1b6
lea ecx, [ebp + 8]
call fcn.0247f850
test eax, eax
je 0x244d1b6
lea ecx, [ebp + 0x10]
call fcn.0247f850
test eax, eax
je 0x244d1b6
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x18]
mov byte [esp + 0xd468], 0xd
call fcn.0243fac0
test eax, eax
jne 0x244d2fa
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244d1b6
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x244d1b6
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push edi
push ecx
mov ecx, dword [esi + 0x894]
call fcn.0244ade0
cmp dword [ebp + 4], edi
je 0x244d326
mov eax, dword [ebp + 0x14]
mov ebp, dword [ebp + 0xc]
push eax
mov edx, ebp
mov ecx, ebx
call fcn.02458eb0
jmp 0x244d33b
mov edx, dword [ebp + 0x14]
mov ebp, dword [ebp + 0xc]
lea eax, [esp + 0x84]
push eax
mov ecx, ebp
call fcn.0241caf0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov byte [esp + 0xd468], 0
mov dword [esp + 0x18], edi
je 0x244d500
jmp 0x244d4f7
mov edx, dword [ebp + 4]
neg edx
lea ecx, [esp + 0x10]
sbb edx, edx
push ecx
mov ecx, dword [0x24e27c8]
add edx, 0xa064
call fcn.02481110
test eax, eax
je 0x244d1b6
lea ecx, [ebp + 8]
call fcn.0247f850
test eax, eax
je 0x244d1b6
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x18]
mov byte [esp + 0xd468], 0xe
call fcn.0243fac0
test eax, eax
jne 0x244d3d3
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244d1b6
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x244d1b6
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x894]
push edi
push edx
mov edx, dword [esp + 0x1c]
call fcn.0244ade0
cmp dword [ebp + 4], edi
je 0x244d3f9
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.02459210
jmp 0x244d40a
mov ebp, dword [ebp + 0xc]
lea edx, [esp + 0x84]
mov ecx, ebp
call fcn.0241cb20
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov byte [esp + 0xd468], 0
mov dword [esp + 0x18], edi
je 0x244d500
jmp 0x244d4f7
mov edx, dword [ebp + 4]
mov ecx, dword [0x24e27c8]
neg edx
sbb edx, edx
lea eax, [esp + 0x10]
add edx, 0xa066
push eax
call fcn.02481110
test eax, eax
je 0x244d1b6
lea ecx, [ebp + 8]
call fcn.0247f850
test eax, eax
je 0x244d1b6
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x18]
mov byte [esp + 0xd468], 0xf
call fcn.0243fac0
test eax, eax
jne 0x244d4a2
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244d1b6
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x244d1b6
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push edi
push ecx
mov ecx, dword [esi + 0x894]
call fcn.0244ade0
cmp dword [ebp + 4], edi
je 0x244d4cc
mov edx, dword [ebp + 0xc]
add ebp, 0x34
push ebp
mov ecx, ebx
call fcn.02459cc0
jmp 0x244d4df
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x84]
push edx
lea edx, [ebp + 0x34]
call fcn.0241ce80
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov byte [esp + 0xd468], 0
mov dword [esp + 0x18], edi
je 0x244d500
push eax
call fcn.024ad03a
add esp, 4
cmp dword [esp + 0x20], edi
jne 0x244d5b0
lea ecx, [esp + 0x10]
call fcn.0247f850
test eax, eax
je 0x244d1b6
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov ecx, dword [0x24e27c8]
lea eax, [esp + 0x18]
push eax
mov edx, 0xa069
mov byte [esp + 0xd46c], 0x10
call fcn.02481110
test eax, eax
je 0x244d555
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
call fcn.0247f890
test eax, eax
jne 0x244d577
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244d1b6
push eax
call fcn.024ad03a
add esp, 4
mov dword [esp + 0x1c], edi
jmp 0x244d1b6
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x894]
call fcn.0244ae60
test eax, eax
jne 0x244d59b
mov edx, dword [esp + 0xd470]
mov dword [edx], 1
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x18], edi
je 0x244d5b0
push eax
call fcn.024ad03a
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, edi
mov dword [esp + 0x10], edi
je 0x244d5c5
push eax
call fcn.024ad03a
add esp, 4
mov eax, 1
jmp 0x244bfd0