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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x21c
push ebx
push esi
push edi
push 0x2e
push 0x1003211c
lea ecx, [esp + 0x1b8]
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0xf
call fcn.1003ae40
mov eax, dword [ebp + 8]
mov ecx, eax
push 0x18
push 0x1003214c
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
call fcn.1003ae40
push 8
push 0x10032168
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
call fcn.1003ae40
push 0x18
push 0x10032174
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xf
call fcn.1003ae40
push 0x25
push 0x10032190
lea ecx, [esp + 0xb0]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0xf
call fcn.1003ae40
push 0x19
push 0x100321b8
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
call fcn.1003ae40
push 9
push 0x100321d4
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
call fcn.1003ae40
push 0x16
push 0x100321e0
lea ecx, [esp + 0xf8]
mov dword [esp + 0xf8], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0xf
call fcn.1003ae40
push 0x18
push 0x100321f8
lea ecx, [esp + 0x110]
mov dword [esp + 0x110], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0xf
call fcn.1003ae40
push 8
push 0x10032214
lea ecx, [esp + 0x128]
mov dword [esp + 0x128], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0xf
call fcn.1003ae40
push 0xe
push 0x10032220
lea ecx, [esp + 0x140]
mov dword [esp + 0x140], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0xf
call fcn.1003ae40
push 9
push 0x10032230
lea ecx, [esp + 0x158]
mov dword [esp + 0x158], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0xf
call fcn.1003ae40
push 0x1f
push 0x1003223c
lea ecx, [esp + 0x170]
mov dword [esp + 0x170], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0xf
call fcn.1003ae40
push 0x25
push 0x1003225c
lea ecx, [esp + 0x188]
mov dword [esp + 0x188], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0xf
call fcn.1003ae40
push 0x1c
push 0x10032284
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x78]
push ecx
lea eax, [esp + 0x1b4]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.100785e0
push 0x1003adf0
push 0xd
push 0x18
lea eax, [esp + 0x84]
push eax
call fcn.10079b58
push 0x21
push 0x100322a4
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
call fcn.1003ae40
push 0x18
push 0x100322c8
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0xf
call fcn.1003ae40
push 8
push 0x100322e4
lea ecx, [esp + 0xb0]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0xf
call fcn.1003ae40
push 0x20
push 0x100322f0
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
call fcn.1003ae40
push 0x1a
push 0x10032314
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
call fcn.1003ae40
push 0x24
mov dword [esp + 0xf4], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0xf
push 0x10032330
lea ecx, [esp + 0xf8]
call fcn.1003ae40
push 0x11
push 0x10032358
lea ecx, [esp + 0x110]
mov dword [esp + 0x110], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0xf
call fcn.1003ae40
push 0xc
push 0x1003236c
lea ecx, [esp + 0x128]
mov dword [esp + 0x128], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0xf
call fcn.1003ae40
push 6
push 0x1003237c
lea ecx, [esp + 0x140]
mov dword [esp + 0x140], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0xf
call fcn.1003ae40
push 0x1d
push 0x10032384
lea ecx, [esp + 0x158]
mov dword [esp + 0x158], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0xf
call fcn.1003ae40
push 0x18
push 0x100323a4
lea ecx, [esp + 0x170]
mov dword [esp + 0x170], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0xf
call fcn.1003ae40
push 0x13
push 0x100323c0
lea ecx, [esp + 0x188]
mov dword [esp + 0x188], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x78]
push ecx
lea eax, [esp + 0x19c]
push eax
push ecx
lea ecx, [esp + 0x78]
call fcn.100785e0
push 0x1003adf0
push 0xc
push 0x18
lea eax, [esp + 0x84]
push eax
call fcn.10079b58
push 7
push 0x100323d4
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0xf
call fcn.1003ae40
push 0x15
push 0x100323dc
lea ecx, [esp + 0x1e8]
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0xf
call fcn.1003ae40
push 0x27
push 0x100323f4
lea ecx, [esp + 0x200]
mov dword [esp + 0x200], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0xf
call fcn.1003ae40
mov dword [esp + 0x210], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0xf
push 0x11
push 0x1003241c
lea ecx, [esp + 0x218]
call fcn.1003ae40
lea ecx, [esp + 0x1c8]
push ecx
lea eax, [esp + 0x22c]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.100785e0
push 0x1003adf0
push 4
push 0x18
lea eax, [esp + 0x1d4]
push eax
call fcn.10079b58
mov edx, 0x1009d0e8
mov ecx, 0x1009d224
call fcn.10078b00
movzx esi, al
mov edx, 0x1009d134
mov ecx, 0x1009d11c
xor esi, 1
call fcn.10078b00
mov edx, dword [0x100027c0]
xor ecx, ecx
movzx eax, al
and esi, eax
imul eax, edx, 0xa2e0
cmp esi, eax
mov esi, dword [0x100027a8]
setg cl
sub edx, dword [0x100027ac]
xor ebx, ebx
cmp ecx, edx
mov edx, 0x1009d1d0
mov ecx, 0x1009d100
setle bl
sub esi, dword [0x10002788]
call fcn.10078b00
xor edi, edi
movzx eax, al
cmp ebx, esi
mov edx, 0x1009d0d0
mov ecx, 0x1009d14c
cmovge edi, eax
xor edi, 1
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d224
mov ecx, 0x1009d0a0
or edi, eax
call fcn.10078b00
mov edx, 0x1009d1d0
movzx esi, al
mov ecx, 0x1009d1b8
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d0e8
xor esi, eax
mov ecx, 0x1009d170
xor edi, esi
call fcn.10078b00
movzx eax, al
mov ecx, 0x17183
cmp ecx, eax
mov edx, 0x1009d188
mov ecx, 0x1009d1d0
sbb eax, eax
neg eax
xor edi, eax
call fcn.10078b00
mov esi, dword [0x10002794]
mov ecx, dword [0x1000279c]
movzx edx, al
mov eax, esi
sar eax, cl
xor ecx, ecx
cmp edx, eax
setge cl
sub esi, dword [0x100027b0]
lea edx, [esp + 0x1b0]
xor eax, eax
cmp ecx, esi
mov ecx, dword [0x100027b0]
setl al
xor ebx, ebx
xor edi, eax
mov eax, dword [0x100027c0]
shl eax, cl
mov ecx, 0x1009d11c
cmp edi, eax
setne bl
call fcn.10078b00
movzx esi, al
mov edx, 0x1009d170
mov ecx, 0x1009d0b8
xor esi, 1
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d20c
mov ecx, 0x1009d224
and esi, eax
call fcn.10078b00
movzx eax, al
xor eax, 1
or esi, eax
cmp ebx, esi
je 0x10055f4a
cmp dword [0x1009d12c], 0x14
jae 0x10055f4a
push 0x1009d1b8
push 0x1009d14c
mov edx, 0x1009d0d0
lea ecx, [esp + 0x4c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x30]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d11c
push eax
call fcn.1003b590
mov edx, dword [esp + 0x40]
cmp edx, 0x10
jb 0x10055eff
mov ecx, dword [esp + 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10055ef5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056744
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], 0
cmp edx, 0x10
jb 0x10055f4a
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10055f40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056744
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d1e0], 0x75
jae 0x1005600c
push 0x1009d14c
push 0x1009d1b8
mov edx, 0x1009d1f4
lea ecx, [esp + 0x4c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x30]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d1d0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x40]
cmp edx, 0x10
jb 0x10055fc1
mov ecx, dword [esp + 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10055fb7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056749
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], 0
cmp edx, 0x10
jb 0x1005600c
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056002
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056749
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d180], 0xa1
jae 0x100560d1
push 0x1009d1f4
push 0x1009d100
mov edx, 0x1009d0b8
lea ecx, [esp + 0x4c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x30]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d170
push eax
call fcn.1003b590
mov edx, dword [esp + 0x40]
cmp edx, 0x10
jb 0x10056086
mov ecx, dword [esp + 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005607c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005674e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], 0
cmp edx, 0x10
jb 0x100560d1
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100560c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005674e
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d110], 0x78
jae 0x10056193
push 0x1009d20c
push 0x1009d170
mov edx, 0x1009d1d0
lea ecx, [esp + 0x4c]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x30]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d100
push eax
call fcn.1003b590
mov edx, dword [esp + 0x40]
cmp edx, 0x10
jb 0x10056148
mov ecx, dword [esp + 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005613e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056753
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0xf
mov byte [esp + 0x2c], 0
cmp edx, 0x10
jb 0x10056193
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056189
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056753
push edx
push ecx
call fcn.10079b22
add esp, 8
mov eax, dword [ebp + 8]
sub esp, 0xc
mov edx, 0x1009d0a0
push 0xcea3
push eax
push dword [ebp + 0x38]
push dword [0x100027a8]
push ecx
mov ecx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x3c]
push ecx
push eax
push dword [ebp + 0x28]
push dword [0x1000279c]
push eax
push ecx
push dword [ebp + 0x2c]
push dword [0x100027b0]
push 0x1009d170
push ecx
call fcn.100536c0
mov ecx, eax
add esp, 0x4c
mov eax, dword [ebp + 0x5c]
add ecx, dword [eax + 0x10]
mov dword [esp + 0x5c], ecx
mov dword [0x100027b0], ecx
mov ecx, 0x1009d164
cmp ecx, 0x1009d070
je 0x10056216
push dword [esp + 0x60]
push dword [0x1009d074]
push dword [0x1009d070]
call fcn.10078c90
mov eax, dword [0x100027b0]
mov dword [esp + 0x5c], eax
lea edx, [esp + 0x1b0]
mov ecx, 0x1009d1f4
call fcn.10078b00
mov edi, dword [0x10002798]
mov ecx, dword [0x100027b8]
mov esi, dword [0x100027b4]
movzx edx, al
mov eax, edi
sar eax, cl
xor ecx, ecx
cmp edx, eax
mov eax, dword [0x100027bc]
mov edx, 0x1009d11c
setg cl
imul eax, dword [0x100027c0]
xor ebx, ebx
cmp ecx, eax
mov ecx, 0x1009d100
setl bl
xor esi, dword [0x100027a4]
call fcn.10078b00
movzx eax, al
xor ecx, ecx
xor eax, 1
mov edx, 0x1009d0d0
cmp ebx, esi
cmovl ecx, eax
imul edi, dword [0x10002794]
mov dword [esp + 0x10], ecx
mov ecx, 0x1009d0e8
call fcn.10078b00
mov edx, 0x1009d1d0
mov ecx, 0x1009d0a0
mov bl, al
call fcn.10078b00
mov edx, 0x1009d11c
mov ecx, 0x1009d188
xor bl, al
call fcn.10078b00
movzx esi, al
mov edx, 0x1009d134
mov eax, dword [0x10002798]
mov ecx, 0x1009d1f4
sub eax, dword [0x100027b4]
mov dword [esp + 0x60], eax
call fcn.10078b00
movzx ecx, al
mov edx, 0
movzx eax, bl
xor ecx, eax
xor eax, eax
cmp dword [esp + 0x10], edi
setne al
xor ecx, eax
cmp dword [esp + 0x10], edi
movzx eax, bl
sete dl
xor edx, eax
cmp dword [esp + 0x60], esi
cmovge edx, ecx
mov ecx, 0x1009d1f4
mov dword [esp + 0x10], edx
mov edx, 0x1009d14c
call fcn.10078b00
mov esi, dword [0x100027c0]
xor edx, edx
movzx ecx, al
mov eax, esi
xor eax, dword [esp + 0x5c]
cmp ecx, eax
mov ecx, 0x1009d0b8
setle dl
xor dword [esp + 0x10], edx
mov edx, 0x1009d224
call fcn.10078b00
mov ecx, dword [0x100027b4]
xor ebx, ebx
movzx eax, al
sar esi, cl
cmp esi, eax
setle bl
mov esi, dword [0x100027a0]
mov edx, 0x1009d224
mov ecx, dword [ebp + 8]
xor esi, dword [0x1000279c]
call fcn.10078b00
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
movzx eax, al
xor eax, ecx
xor eax, 1
cmp ebx, esi
cmovl ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, 0x1009d0e8
call fcn.10078b00
movzx eax, al
xor ecx, ecx
cmp dword [esp + 0x10], eax
mov eax, dword [0x100027c4]
setne cl
add eax, dword [0x100027a0]
cmp ecx, eax
jne 0x100563c1
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.1003b800
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [0x1009d1e0], 0xc
jae 0x10056421
push 0x1009d14c
mov edx, 0x1009d1b8
lea ecx, [esp + 0x48]
call fcn.100789e0
add esp, 4
mov ecx, 0x1009d1d0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x58]
cmp edx, 0x10
jb 0x10056421
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056417
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056758
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d1ec]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d1e8]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100564b0
xor edi, edi
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x48]
call fcn.1003d520
mov edx, dword [esp + 0x58]
cmp edx, 0x10
jb 0x10056489
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005647f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056762
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d1ec]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d1e8]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10056446
mov edx, dword [0x1009d1ec]
push ecx
mov ecx, esi
call fcn.1003b800
mov eax, dword [0x1009d1e8]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [0x1009d1ec], eax
call fcn.1003b800
mov eax, dword [esp + 0x24]
add esp, 4
cmp dword [0x1009d0c8], 0x74
mov dword [esp + 0x24], eax
jae 0x10056540
push 0x1009d0d0
mov edx, 0x1009d11c
lea ecx, [esp + 0x48]
call fcn.100789e0
add esp, 4
mov ecx, 0x1009d0b8
push eax
call fcn.1003b590
mov edx, dword [esp + 0x58]
cmp edx, 0x10
jb 0x10056540
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056536
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005675d
push edx
push ecx
call fcn.10079b22
add esp, 8
push dword [esp + 0x60]
mov ecx, 0x1009d094
push dword [0x1009d168]
push dword [0x1009d164]
call fcn.10078c90
push 0x10032430
call fcn.100844df
add esp, 4
fstp qword [esp + 0x60]
cvttsd2si esi, qword [esp + 0x60]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, dword [esp + 0x18]
xor eax, esi
add dword [0x100027b8], eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.1003b800
mov eax, dword [esp + 0x24]
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x10056614
mov edx, dword [esp + 0x24]
push ecx
mov ecx, eax
call fcn.1003b800
mov ecx, dword [esp + 0x2c]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x24]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x100565ee
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056762
push ecx
push esi
call fcn.10079b22
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x10056690
mov edx, dword [esp + 0x70]
push ecx
mov ecx, eax
call fcn.1003b800
mov ecx, dword [esp + 0x78]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x70]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1005666a
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056762
push ecx
push esi
call fcn.10079b22
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
test ecx, ecx
je 0x10056702
mov edx, dword [esp + 0x18]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x20]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x18]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x100566e0
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056762
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x1c4]
cmp edx, 0x10
jb 0x1005673a
mov ecx, dword [esp + 0x1b0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056730
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056762
push edx
push ecx
call fcn.10079b22
add esp, 8
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
int3