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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1035354c
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x32e4
call fcn.10264a90
mov eax, dword [0x10525930]
xor eax, esp
mov dword [esp + 0x32e0], eax
push ebx
push esi
push edi
mov eax, dword [0x10525930]
xor eax, esp
push eax
lea eax, [esp + 0x32f8]
mov dword fs:[0], eax
mov ebx, ecx
lea eax, [ebx + 0x14]
push eax
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x118]
push eax
mov dword [esp + 0x114], ebx
call fcn.100f02e0
add esp, 8
xor edi, edi
mov dword [esp + 0x3300], edi
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x114]
push eax
lea edx, [esp + 0xf4]
call fcn.100f3bb0
mov byte [esp + 0x3300], 1
mov ecx, dword [esp + 0xfc]
sub ecx, dword [esp + 0xf8]
mov eax, 0x67b23a55
imul ecx
sar edx, 8
mov esi, edx
push 0x3000
shr esi, 0x1f
lea ecx, [esp + 0x2f0]
add esi, edx
push edi
push ecx
mov dword [esp + 0x20], esi
call fcn.10262810
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx]
add esp, 0xc
lea edx, [edi + 4]
cmp eax, edi
jbe 0x100f6c6f
cmp eax, edx
jae 0x100f6c5c
mov edx, eax
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
lea edx, [ebp + 0xc]
push edx
push ecx
call fcn.102640e0
add esp, 0xc
mov ecx, dword [esp + 0x114]
call fcn.100f59b0
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov edx, 4
cmp eax, edx
jbe 0x100f6cac
cmp eax, 8
jae 0x100f6c95
lea edx, [eax - 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
lea eax, [esp + 0x28]
push eax
add ecx, 4
push ecx
call fcn.102640e0
add esp, 0xc
mov dword [esp + 0x10], edi
cmp esi, edi
jbe 0x100f7b88
lea ecx, [esp + 0x18]
mov dword [esp + 0x150], ecx
lea esi, [esp + 0xf0]
call fcn.100ef430
mov edx, dword [esp + 0x10]
lea edi, [edx + edx*2]
shl edi, 5
lea edi, [esp + edi + 0x2ec]
mov esi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
lea ebx, [edx + edx*2]
mov edi, edx
lea esi, [esp + 0xf0]
shl ebx, 5
call fcn.100ef430
mov edx, dword [eax + 0x240]
mov dword [esp + ebx + 0x33c], edx
mov eax, dword [eax + 0x244]
lea ecx, [esp + ebx + 0x2ec]
push ecx
lea ecx, [esp + 0x2d0]
mov dword [esp + ebx + 0x344], eax
call fcn.10003680
push 7
push 0
push str.USRDATA
lea ecx, [esp + 0x2d8]
mov byte [esp + 0x330c], 2
call fcn.10004220
cmp eax, 0xffffffff
je 0x100f72a1
lea edx, [esp + 0x28]
mov dword [esp + 0x28], 1
mov dword [esp + 0x18], edx
call fcn.1005c450
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x30]
push edx
mov esi, eax
call fcn.10016d30
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov dword [eax], 0
mov byte [esp + 0x3300], 3
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100f6da6
push eax
call fcn.1029f770
add esp, 4
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100f71a2
push 0x104c2ef4
push 0x104c7cb0
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x44], esp
push str.._functions_partition_pmt.cpp
call fcn.10003680
lea esi, [esp + 0x9c]
call fcn.100af830
add esp, 0x20
mov esi, eax
push 0x104c3ebc
lea ecx, [esp + 0xc0]
mov byte [esp + 0x3310], 4
call fcn.10003680
push esi
push eax
lea edx, [esp + 0xe4]
push edx
mov byte [esp + 0x3318], 5
call fcn.10016ef0
add esp, 0xc
push eax
lea eax, [esp + 0xa0]
push eax
mov byte [esp + 0x3314], 6
call fcn.10016fa0
add esp, 0xc
push eax
lea ecx, [esp + 0x5c]
push ecx
mov byte [esp + 0x3310], 7
call fcn.10016fa0
add esp, 0xc
push eax
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x330c], 8
call fcn.10016fa0
add esp, 0xc
mov esi, eax
mov byte [esp + 0x3300], 9
call fcn.1005c450
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push eax
lea edx, [esp + 0x210]
push edx
call fcn.10016de0
add esp, 0xc
mov byte [esp + 0x3300], 0xa
mov ecx, dword [eax + 4]
add ecx, 4
push str.USRDATA__recalc_partition_size.
mov ebx, 0x1f
call fcn.10013de0
cmp dword [esi + 0x1c], 0x10
mov ebx, dword [esi + 0x18]
jb 0x100f6eaf
mov esi, dword [esi + 8]
jmp 0x100f6eb2
add esi, 8
push esi
mov ecx, eax
call fcn.10013de0
lea ecx, [esp + 0x208]
mov byte [esp + 0x3300], 9
call fcn.100132f0
mov edi, 0x10
mov byte [esp + 0x3300], 8
cmp dword [esp + 0x4c], edi
jb 0x100f6eee
mov eax, dword [esp + 0x38]
push eax
call fcn.1025a370
add esp, 4
xor ebx, ebx
mov esi, 0xf
push 3
lea ecx, [esp + 0x134]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
call fcn.10239250
mov eax, dword [esp + 0x30]
cmp eax, 0xfffffffd
je 0x100f6f35
cmp eax, ebx
je 0x100f6f31
lea esp, [esp]
mov dword [eax], ebx
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], eax
cmp eax, ebx
jne 0x100f6f20
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x130]
call fcn.10239290
mov byte [esp + 0x3300], 7
cmp dword [esp + 0x6c], edi
jb 0x100f6f5c
mov edx, dword [esp + 0x58]
push edx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x138]
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
call fcn.10239250
mov eax, dword [esp + 0x50]
cmp eax, 0xfffffffd
je 0x100f6f98
cmp eax, ebx
je 0x100f6f94
mov dword [eax], ebx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x100f6f83
mov dword [esp + 0x50], ebx
lea ecx, [esp + 0x134]
call fcn.10239290
mov byte [esp + 0x3300], 6
cmp dword [esp + 0xac], edi
jb 0x100f6fc5
mov ecx, dword [esp + 0x98]
push ecx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x140]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
call fcn.10239250
mov eax, dword [esp + 0x90]
cmp eax, 0xfffffffd
je 0x100f701e
cmp eax, ebx
je 0x100f7017
jmp 0x100f7000
mov dword [eax], ebx
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 4]
mov dword [esp + 0x90], eax
cmp eax, ebx
jne 0x100f7000
mov dword [esp + 0x90], ebx
lea ecx, [esp + 0x13c]
call fcn.10239290
mov byte [esp + 0x3300], 5
cmp dword [esp + 0xec], edi
jb 0x100f704b
mov eax, dword [esp + 0xd8]
push eax
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x148]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
call fcn.10239250
mov eax, dword [esp + 0xd0]
cmp eax, 0xfffffffd
je 0x100f709e
cmp eax, ebx
je 0x100f7097
mov edi, edi
mov dword [eax], ebx
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 4]
mov dword [esp + 0xd0], eax
cmp eax, ebx
jne 0x100f7080
mov dword [esp + 0xd0], ebx
lea ecx, [esp + 0x144]
call fcn.10239290
mov byte [esp + 0x3300], 4
cmp dword [esp + 0xcc], edi
jb 0x100f70cb
mov edx, dword [esp + 0xb8]
push edx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x150]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xbc], bl
call fcn.10239250
mov eax, dword [esp + 0xb0]
cmp eax, 0xfffffffd
je 0x100f711e
cmp eax, ebx
je 0x100f7117
mov edi, edi
mov dword [eax], ebx
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 4]
mov dword [esp + 0xb0], eax
cmp eax, ebx
jne 0x100f7100
mov dword [esp + 0xb0], ebx
lea ecx, [esp + 0x14c]
call fcn.10239290
mov byte [esp + 0x3300], 3
cmp dword [esp + 0x8c], edi
jb 0x100f7148
mov ecx, dword [esp + 0x78]
push ecx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x158]
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
call fcn.10239250
mov eax, dword [esp + 0x70]
cmp eax, 0xfffffffd
je 0x100f718a
cmp eax, ebx
je 0x100f7186
mov dword [eax], ebx
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
cmp eax, ebx
jne 0x100f7175
mov dword [esp + 0x70], ebx
lea ecx, [esp + 0x154]
call fcn.10239290
mov eax, dword [esp + 0x20]
cmp eax, ebx
jne 0x100f6db2
mov byte [esp + 0x3300], 2
test eax, eax
je 0x100f71bf
push eax
call fcn.1029f770
add esp, 4
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x148]
push eax
lea ecx, [esp + 0x15c]
push ecx
call fcn.100f5bc0
add esp, 8
mov byte [esp + 0x3300], 0xb
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x158]
lea esi, [esp + 0xf0]
call fcn.100ef430
mov edx, dword [eax + 0x270]
mov edi, dword [esp + 0x10]
push edx
call fcn.100ef430
mov ecx, dword [eax + 0x244]
mov edx, dword [eax + 0x240]
push ecx
push edx
push ebx
call fcn.100f2bd0
mov edi, dword [esp + 0x10]
lea ecx, [edi + edi*2]
shl ecx, 5
mov dword [esp + ecx + 0x32c], eax
mov byte [esp + 0x3300], 2
mov eax, dword [esp + 0x15c]
mov dword [esp + ecx + 0x330], edx
test eax, eax
je 0x100f7275
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x100f7271
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x100f7271
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov edi, dword [esp + 0x10]
lea esi, [esp + 0xf0]
call fcn.100ef430
cmp dword [eax + 0x26c], 0
mov edi, dword [esp + 0x10]
jne 0x100f72d7
lea ecx, [edi + edi*2]
shl ecx, 5
mov dword [esp + ecx + 0x334], 0x4c4f57
jmp 0x100f7301
mov edi, dword [esp + 0x10]
lea esi, [esp + 0xf0]
call fcn.100ef430
mov edi, dword [esp + 0x10]
mov edx, dword [eax + 0x248]
lea ecx, [edi + edi*2]
shl ecx, 5
mov dword [esp + ecx + 0x32c], edx
mov eax, dword [eax + 0x24c]
mov dword [esp + ecx + 0x330], eax
jmp 0x100f7275
lea esi, [esp + 0xf0]
call fcn.100ef430
cmp dword [eax + 0x26c], 1
mov edi, dword [esp + 0x10]
jne 0x100f7301
lea edx, [edi + edi*2]
shl edx, 5
mov dword [esp + edx + 0x334], 0x46554c4c
lea esi, [esp + 0xf0]
call fcn.100ef430
cmp dword [eax + 0x274], 0x20
jne 0x100f732f
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
shl eax, 5
or dword [esp + eax + 0x338], 1
lea eax, [esp + eax + 0x338]
mov dword [esp + 0x18], 1
call fcn.1005c450
mov eax, dword [eax]
lea ecx, [esp + 0x150]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.10016d30
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [eax], 0
mov byte [esp + 0x3300], 0xc
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100f737f
push eax
call fcn.1029f770
add esp, 4
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100f7ac6
mov ecx, fcn.100776d0
mov eax, 0x100224a0
lea edx, [esp + 0x10]
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], fcn.100776d0
mov dword [esp + 0x180], 0x100222b0
mov dword [esp + 0x188], fcn.100776d0
mov dword [esp + 0x18c], 0x1010edb0
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], fcn.100776d0
mov dword [esp + 0x174], 0x100e6200
push 0x104c2ef4
push 0x104d2018
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x54], esp
push str.._functions_partition_pmt.cpp
call fcn.10003680
lea esi, [esp + 0x1c8]
call fcn.100af830
add esp, 0x20
mov esi, eax
push 0x104c3ebc
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x3310], 0xd
call fcn.10003680
push esi
push eax
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x3318], 0xe
call fcn.10016ef0
add esp, 0xc
push eax
lea ecx, [esp + 0x40]
push ecx
mov byte [esp + 0x3314], 0xf
call fcn.10016fa0
add esp, 0xc
push eax
lea edx, [esp + 0x5c]
push edx
mov byte [esp + 0x3310], 0x10
call fcn.10016fa0
add esp, 0xc
push eax
lea eax, [esp + 0x98]
push eax
mov byte [esp + 0x330c], 0x11
call fcn.10016fa0
add esp, 0xc
mov dword [esp + 0x28], eax
mov byte [esp + 0x3300], 0x12
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
shl eax, 5
mov ecx, dword [esp + eax + 0x330]
mov edx, dword [esp + eax + 0x32c]
push ecx
push edx
lea esi, [esp + 0xd8]
call fcn.100548e0
mov ebx, eax
mov byte [esp + 0x3308], 0x13
mov eax, dword [esp + 0x18]
lea eax, [eax + eax*2]
shl eax, 5
mov ecx, dword [esp + eax + 0x348]
mov edx, dword [esp + eax + 0x344]
push ecx
push edx
lea esi, [esp + 0xc0]
call fcn.100548e0
add esp, 0x10
mov esi, eax
push str.partition__d_:name__s___start_addr_0x_s___end_addr_0x_s___region__d_
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x3308], 0x14
call fcn.100167c0
mov byte [esp + 0x3300], 0x15
lea ecx, [esp + 0x178]
push ecx
mov edi, eax
call fcn.1001ec90
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ecx*2]
shl edx, 5
lea ecx, [esp + edx + 0x2f0]
lea edx, [esp + 0x188]
add esp, 4
push edx
mov edi, eax
mov dword [esp + 0x188], ecx
call fcn.1001ec90
lea ecx, [esp + 0x194]
add esp, 4
push ecx
mov edi, eax
mov dword [esp + 0x194], esi
call fcn.1001ec90
lea edx, [esp + 0x164]
add esp, 4
push edx
mov edi, eax
mov dword [esp + 0x164], ebx
call fcn.1001ec90
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ecx*2]
shl ecx, 5
lea edx, [esp + ecx + 0x338]
lea ecx, [esp + 0x170]
add esp, 4
push ecx
mov edi, eax
mov dword [esp + 0x170], edx
call fcn.1001ec90
add esp, 4
lea edx, [esp + 0x70]
mov ecx, eax
call fcn.100168d0
mov esi, eax
mov byte [esp + 0x3300], 0x16
call fcn.1005c450
mov eax, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
lea eax, [esp + 0x204]
push eax
call fcn.10016de0
add esp, 0xc
mov byte [esp + 0x3300], 0x17
mov ecx, dword [eax + 4]
mov ebx, dword [esi + 0x18]
add ecx, 4
cmp dword [esi + 0x1c], 0x10
jb 0x100f7618
mov esi, dword [esi + 8]
jmp 0x100f761b
add esi, 8
push esi
call fcn.10013de0
mov edx, dword [esp + 0x28]
cmp dword [edx + 0x1c], 0x10
mov ebx, dword [edx + 0x18]
jb 0x100f7633
mov edx, dword [edx + 8]
jmp 0x100f7636
add edx, 8
push edx
mov ecx, eax
call fcn.10013de0
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x3300], 0x16
call fcn.100132f0
mov edi, 0x10
mov byte [esp + 0x3300], 0x15
cmp dword [esp + 0x8c], edi
jb 0x100f7675
mov ecx, dword [esp + 0x78]
push ecx
call fcn.1025a370
add esp, 4
xor ebx, ebx
mov esi, 0xf
push 3
lea ecx, [esp + 0x130]
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
call fcn.10239250
mov eax, dword [esp + 0x70]
cmp eax, 0xfffffffd
je 0x100f76c5
cmp eax, ebx
je 0x100f76c1
lea esp, [esp]
mov dword [eax], ebx
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
cmp eax, ebx
jne 0x100f76b0
mov dword [esp + 0x70], ebx
lea ecx, [esp + 0x12c]
call fcn.10239290
lea eax, [esp + 0x214]
push eax
mov byte [esp + 0x3304], 0x14
call fcn.1000b890
mov byte [esp + 0x3300], 0x13
cmp dword [esp + 0xcc], edi
jb 0x100f7707
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x114]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xbc], bl
call fcn.10239250
mov eax, dword [esp + 0xb0]
cmp eax, 0xfffffffd
je 0x100f775e
cmp eax, ebx
je 0x100f7757
lea ebx, [ebx]
mov dword [eax], ebx
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + 4]
mov dword [esp + 0xb0], eax
cmp eax, ebx
jne 0x100f7740
mov dword [esp + 0xb0], ebx
lea ecx, [esp + 0x110]
call fcn.10239290
mov byte [esp + 0x3300], 0x12
cmp dword [esp + 0xec], edi
jb 0x100f778b
mov eax, dword [esp + 0xd8]
push eax
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x13c]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov byte [esp + 0xdc], bl
call fcn.10239250
mov eax, dword [esp + 0xd0]
cmp eax, 0xfffffffd
je 0x100f77de
cmp eax, ebx
je 0x100f77d7
mov edi, edi
mov dword [eax], ebx
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 4]
mov dword [esp + 0xd0], eax
cmp eax, ebx
jne 0x100f77c0
mov dword [esp + 0xd0], ebx
lea ecx, [esp + 0x138]
call fcn.10239290
mov byte [esp + 0x3300], 0x11
cmp dword [esp + 0xac], edi
jb 0x100f780b
mov edx, dword [esp + 0x98]
push edx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x120]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
call fcn.10239250
mov eax, dword [esp + 0x90]
cmp eax, 0xfffffffd
je 0x100f785e
cmp eax, ebx
je 0x100f7857
mov edi, edi
mov dword [eax], ebx
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 4]
mov dword [esp + 0x90], eax
cmp eax, ebx
jne 0x100f7840
mov dword [esp + 0x90], ebx
lea ecx, [esp + 0x11c]
call fcn.10239290
mov byte [esp + 0x3300], 0x10
cmp dword [esp + 0x6c], edi
jb 0x100f7885
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x124]
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
call fcn.10239250
mov eax, dword [esp + 0x50]
cmp eax, 0xfffffffd
je 0x100f78c5
cmp eax, ebx
je 0x100f78c1
lea esp, [esp]
mov dword [eax], ebx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0x100f78b0
mov dword [esp + 0x50], ebx
lea ecx, [esp + 0x120]
call fcn.10239290
mov byte [esp + 0x3300], 0xf
cmp dword [esp + 0x4c], edi
jb 0x100f78ec
mov eax, dword [esp + 0x38]
push eax
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x128]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
call fcn.10239250
mov eax, dword [esp + 0x30]
cmp eax, 0xfffffffd
je 0x100f7928
cmp eax, ebx
je 0x100f7924
mov dword [eax], ebx
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], eax
cmp eax, ebx
jne 0x100f7913
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x124]
call fcn.10239290
mov byte [esp + 0x3300], 0xe
cmp dword [esp + 0x1d8], edi
jb 0x100f7955
mov edx, dword [esp + 0x1c4]
push edx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x12c]
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1d8], ebx
mov byte [esp + 0x1c8], bl
call fcn.10239250
mov eax, dword [esp + 0x1bc]
cmp eax, 0xfffffffd
je 0x100f79ae
cmp eax, ebx
je 0x100f79a7
jmp 0x100f7990
mov dword [eax], ebx
mov eax, dword [esp + 0x1bc]
mov eax, dword [eax + 4]
mov dword [esp + 0x1bc], eax
cmp eax, ebx
jne 0x100f7990
mov dword [esp + 0x1bc], ebx
lea ecx, [esp + 0x128]
call fcn.10239290
mov byte [esp + 0x3300], 0xd
cmp dword [esp + 0x1f8], edi
jb 0x100f79db
mov ecx, dword [esp + 0x1e4]
push ecx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x144]
mov dword [esp + 0x1fc], esi
mov dword [esp + 0x1f8], ebx
mov byte [esp + 0x1e8], bl
call fcn.10239250
mov eax, dword [esp + 0x1dc]
cmp eax, 0xfffffffd
je 0x100f7a2e
cmp eax, ebx
je 0x100f7a27
mov edi, edi
mov dword [eax], ebx
mov edx, dword [esp + 0x1dc]
mov eax, dword [edx + 4]
mov dword [esp + 0x1dc], eax
cmp eax, ebx
jne 0x100f7a10
mov dword [esp + 0x1dc], ebx
lea ecx, [esp + 0x140]
call fcn.10239290
mov byte [esp + 0x3300], 0xc
cmp dword [esp + 0x1b8], edi
jb 0x100f7a5b
mov eax, dword [esp + 0x1a4]
push eax
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x108]
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
call fcn.10239250
mov eax, dword [esp + 0x19c]
cmp eax, 0xfffffffd
je 0x100f7aae
cmp eax, ebx
je 0x100f7aa7
mov edi, edi
mov dword [eax], ebx
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x19c], eax
cmp eax, ebx
jne 0x100f7a90
mov dword [esp + 0x19c], ebx
lea ecx, [esp + 0x104]
call fcn.10239290
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x100f73fe
xor esi, esi
mov byte [esp + 0x3300], 2
cmp eax, esi
je 0x100f7ae1
push eax
call fcn.1029f770
add esp, 4
mov dword [esp + 0x1c], esi
mov byte [esp + 0x3300], 1
cmp dword [esp + 0x2e8], 0x10
jb 0x100f7b03
mov edx, dword [esp + 0x2d4]
push edx
call fcn.1025a370
add esp, 4
push 3
lea ecx, [esp + 0x10c]
mov dword [esp + 0x2ec], 0xf
mov dword [esp + 0x2e8], esi
mov byte [esp + 0x2d8], 0
call fcn.10239250
mov eax, dword [esp + 0x2cc]
cmp eax, 0xfffffffd
je 0x100f7b5e
cmp eax, esi
je 0x100f7b57
jmp 0x100f7b40
mov dword [eax], esi
mov eax, dword [esp + 0x2cc]
mov eax, dword [eax + 4]
mov dword [esp + 0x2cc], eax
cmp eax, esi
jne 0x100f7b40
mov dword [esp + 0x2cc], esi
lea ecx, [esp + 0x108]
call fcn.10239290
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esp + 0x14]
jb 0x100f6cc3
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10c]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx]
lea esi, [esi + esi*2]
shl esi, 5
mov edx, esi
cmp eax, 8
jbe 0x100f7bbe
lea edi, [edx + 8]
cmp edi, eax
jbe 0x100f7ba4
lea edx, [eax - 8]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
push edx
lea edx, [esp + 0x2f0]
push edx
add ecx, 8
push ecx
call fcn.102640e0
add esp, 0xc
xor eax, eax
cmp dword [ebp + 8], 1
mov dword [esp + 0x14], eax
jne 0x100f7bef
and eax, 0xf1ffffff
or eax, 0x1000000
movsx ecx, al
inc ecx
and ecx, 0xff
and eax, 0xfffff300
or ecx, eax
or ecx, 0x300
mov dword [esp + 0x14], ecx
mov ebx, dword [ebx + 0xc]
mov eax, dword [ebx]
lea ecx, [esi + 4]
mov edx, 4
cmp ecx, eax
jae 0x100f7c21
lea esi, [ecx + 4]
cmp esi, eax
jbe 0x100f7c0b
sub eax, ecx
mov edx, eax
mov ebx, dword [ebx + 4]
mov ebx, dword [ebx]
push edx
lea edx, [esp + 0x18]
push edx
add ebx, ecx
push ebx
call fcn.102640e0
add esp, 0xc
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x3304], 0
call fcn.1005fb10
mov dword [esp + 0x3300], 0xffffffff
mov esi, dword [esp + 0x118]
test esi, esi
je 0x100f7c76
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x100f7c76
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x100f7c76
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
xor eax, eax
mov ecx, dword [esp + 0x32f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x32e0]
xor ecx, esp
call fcn.102595a0
mov esp, ebp
pop ebp
ret 8