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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1182b7d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x10b2c
call sub.ntdll.dll__chkstk
push esi
mov dword [ebp - 0x10ae4], ecx
mov eax, dword [ebp - 0x10ae4]
cmp dword [eax + 0x42a8], 0
je 0x114e054
mov eax, 1
jmp 0x114f7b5
mov ecx, dword [ebp - 0x10ae4]
add ecx, 0x1e0
mov dword [ebp - 0x82c], ecx
mov word [ebp - 0x80c], 0
push 0x7fe
push 0
lea edx, [ebp - 0x80a]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x10ae4]
add eax, 0x2a
push eax
push 0x1012600
lea ecx, [ebp - 0x80c]
push ecx
call sub.ntdll.dll_swprintf
add esp, 0xc
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x810], 0
xor edx, edx
mov byte [ebp - 0x10aa5], dl
lea eax, [ebp - 0x10aa5]
push eax
lea ecx, [ebp - 0x828]
call fcn.01099550
mov dword [ebp - 4], 0
call fcn.0108d4a0
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
jmp 0x114e117
mov ecx, dword [ebp - 0x834]
add ecx, 1
mov edx, dword [ebp - 0x830]
adc edx, 0
mov dword [ebp - 0x834], ecx
mov dword [ebp - 0x830], edx
mov ecx, dword [ebp + 8]
call fcn.010973b0
xor ecx, ecx
mov dword [ebp - 0x10aec], eax
mov dword [ebp - 0x10ae8], ecx
mov edx, dword [ebp - 0x830]
cmp edx, dword [ebp - 0x10ae8]
jg 0x114f66c
jl 0x114e153
mov eax, dword [ebp - 0x834]
cmp eax, dword [ebp - 0x10aec]
jae 0x114f66c
mov ecx, dword [ebp - 0x10ae4]
cmp dword [ecx + 0x134], 0
je 0x114e2af
call fcn.0108d4a0
sub eax, dword [ebp - 0x814]
cmp eax, 0x3e8
jb 0x114e2af
mov ecx, dword [ebp + 8]
call fcn.010973b0
xor edx, edx
mov dword [ebp - 0xc8cc], eax
mov dword [ebp - 0xc8c8], edx
mov eax, dword [ebp - 0x834]
add eax, 1
mov ecx, dword [ebp - 0x830]
adc ecx, 0
mov dword [ebp - 0x10af4], eax
mov dword [ebp - 0x10af0], ecx
fild qword [ebp - 0x10af4]
fild qword [ebp - 0xc8cc]
fdivp st(1)
fmul qword [0x10061d0]
call fcn.01116030
mov dword [ebp - 0xc998], eax
mov word [ebp - 0xc994], 0
push 0xc6
push 0
lea edx, [ebp - 0xc992]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0xc998]
push eax
mov ecx, dword [ebp - 0xc8c8]
push ecx
mov edx, dword [ebp - 0xc8cc]
push edx
mov eax, dword [ebp - 0x834]
add eax, 1
mov ecx, dword [ebp - 0x830]
adc ecx, 0
push ecx
push eax
push 0x10125b0
lea edx, [ebp - 0xc994]
push edx
call sub.ntdll.dll_swprintf
add esp, 0x1c
lea eax, [ebp - 0xc994]
push eax
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x130]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [edx]
mov eax, dword [edx + 0x38]
call eax
mov ecx, dword [ebp - 0xc998]
push ecx
push 0x1010e00
lea edx, [ebp - 0xc994]
push edx
call sub.ntdll.dll_swprintf
add esp, 0xc
mov eax, dword [ebp - 0xc998]
push eax
mov ecx, dword [ebp - 0x10ae4]
call fcn.01154a70
lea ecx, [ebp - 0xc994]
push ecx
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov ecx, dword [ebp - 0x10ae4]
mov ecx, dword [ecx + 0x130]
mov edx, dword [eax]
mov eax, dword [edx + 0x3c]
call eax
call fcn.0108d4a0
mov dword [ebp - 0x814], eax
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x130]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [edx]
mov eax, dword [edx + 0x78]
call eax
test eax, eax
je 0x114e351
push 0x17
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x130]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [edx]
mov eax, dword [edx + 0x20]
call eax
call fcn.010906a0
mov dword [ebp - 0x10af8], eax
push 0x3e6
push 0x1012154
call fcn.0114b660
push eax
push 0x100b148
mov ecx, dword [ebp - 0x10af8]
push ecx
mov edx, dword [ebp - 0x10af8]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0xc
mov dword [ebp - 0x10aac], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10aac]
jmp 0x114f7b5
mov dword [ebp - 0x818], 0
mov edx, dword [ebp - 0x834]
push edx
mov ecx, dword [ebp + 8]
call fcn.011293f0
mov ecx, dword [eax]
mov dword [ebp - 0x4854], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x4850], edx
cmp dword [ebp - 0x4854], 7
jne 0x114e38d
cmp dword [ebp - 0x4850], 0
je 0x114e39f
cmp dword [ebp - 0x4854], 1
jne 0x114e3a4
cmp dword [ebp - 0x4850], 0
jne 0x114e3a4
jmp 0x114e0f9
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x88b4]
call fcn.01146fd0
mov byte [ebp - 4], 1
push 0
lea eax, [ebp - 0x88b4]
push eax
mov ecx, dword [ebp - 0x4850]
push ecx
mov edx, dword [ebp - 0x4854]
push edx
mov ecx, dword [ebp - 0x82c]
call fcn.011623b0
test eax, eax
jne 0x114e488
call fcn.010906a0
mov dword [ebp - 0x10afc], eax
mov eax, dword [ebp - 0x4850]
push eax
mov ecx, dword [ebp - 0x4854]
push ecx
push 0x3f6
push 0x1012154
call fcn.0114b660
push eax
push 0x10122f8
mov edx, dword [ebp - 0x10afc]
push edx
mov eax, dword [ebp - 0x10afc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
add esp, 0x14
push 0xd2
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ab0], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ab0]
jmp 0x114f7b5
mov byte [ebp - 0xc8c4], 0
push 0x3fff
push 0
lea ecx, [ebp - 0xc8c3]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov byte [ebp - 0x484c], 0
push 0x3fff
push 0
lea edx, [ebp - 0x484b]
push edx
call sub.ntdll.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x42ac]
push ecx
lea ecx, [ebp - 0x88b4]
call fcn.011814c0
push eax
lea edx, [ebp - 0xc8c4]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x42ac]
push ecx
lea edx, [ebp - 0xc8c4]
push edx
lea eax, [ebp - 0x484c]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
lea ecx, [ebp - 0xc8c4]
mov dword [ebp - 0x84c], ecx
lea edx, [ebp - 0x484c]
mov dword [ebp - 0x88c0], edx
mov eax, dword [ebp - 0x84c]
movzx ecx, word [eax + 0x14]
mov dword [ebp - 0x88bc], ecx
mov edx, dword [ebp - 0x84c]
movzx eax, word [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x84c]
push ecx
mov edx, dword [ebp - 0x88c0]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x84c]
movzx ecx, word [eax + 0x14]
mov edx, dword [ebp - 0x88c0]
mov dword [edx + 0x18], ecx
xor eax, eax
mov byte [ebp - 0x10ab1], al
lea ecx, [ebp - 0x10ab1]
push ecx
lea ecx, [ebp - 0x844]
call fcn.01099550
mov byte [ebp - 4], 2
mov dword [ebp - 0x4858], 0
lea ecx, [ebp - 0x88b4]
call fcn.01147830
lea ecx, [ebp - 0x88b4]
call fcn.01147ea0
mov dword [ebp - 0x848], eax
cmp dword [ebp - 0x848], 0
je 0x114effb
mov edx, dword [ebp - 0x848]
movzx eax, byte [edx + 8]
test eax, eax
jne 0x114e640
mov ecx, dword [ebp - 0x88c0]
add ecx, dword [ebp - 0x88bc]
mov dword [ebp - 0xc9cc], ecx
mov edx, dword [ebp - 0x848]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x848]
push ecx
mov edx, dword [ebp - 0xc9cc]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x848]
mov ecx, dword [ebp - 0x88bc]
add ecx, dword [eax + 4]
mov dword [ebp - 0x88bc], ecx
mov edx, dword [ebp - 0x88c0]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0x848]
add eax, dword [ecx + 4]
mov edx, dword [ebp - 0x88c0]
mov dword [edx + 0x18], eax
lea ecx, [ebp - 0x88b4]
call fcn.01148000
mov dword [ebp - 0x848], eax
jmp 0x114e5ad
lea ecx, [ebp - 0xc9b8]
call fcn.011611f0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x848]
push eax
lea ecx, [ebp - 0xc9b8]
call fcn.01161320
test eax, eax
jne 0x114e731
call fcn.010906a0
mov dword [ebp - 0x10b00], eax
mov ecx, dword [ebp - 0x848]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x4850]
push eax
mov ecx, dword [ebp - 0x4854]
push ecx
push 0x41d
push 0x1012154
call fcn.0114b660
push eax
push 0x1012398
mov edx, dword [ebp - 0x10b00]
push edx
mov eax, dword [ebp - 0x10b00]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
add esp, 0x18
push 0xd3
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ab8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc9b8]
call fcn.01161230
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ab8]
jmp 0x114f7b5
xor ecx, ecx
mov byte [ebp - 0x10ab9], cl
lea edx, [ebp - 0x10ab9]
push edx
lea ecx, [ebp - 0xc9c8]
call fcn.01099550
mov byte [ebp - 4], 4
mov dword [ebp - 0xc9a0], 0
lea ecx, [ebp - 0xc9b8]
call fcn.011615a0
mov dword [ebp - 0xc99c], eax
mov dword [ebp - 0xc9d0], 0
jmp 0x114e785
mov eax, dword [ebp - 0xc9d0]
add eax, 1
mov dword [ebp - 0xc9d0], eax
mov ecx, dword [ebp - 0xc9d0]
cmp ecx, dword [ebp - 0xc99c]
jae 0x114ed7b
mov edx, dword [ebp - 0xc9d0]
push edx
lea ecx, [ebp - 0xc9b8]
call fcn.01161610
mov dword [ebp - 0xc9d4], eax
mov eax, dword [ebp - 0xc9d4]
mov dword [ebp - 0x10b04], eax
mov ecx, dword [ebp - 0x10b04]
mov edx, dword [ebp - 0x10b04]
mov eax, dword [ecx]
and eax, dword [edx + 4]
cmp eax, 0xffffffff
jne 0x114e80e
mov ecx, dword [ebp - 0xc9d4]
mov edx, dword [ecx]
mov dword [ebp - 0xc9e4], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc9e0], eax
mov ecx, dword [ebp - 0xc9d4]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xc9dc], edx
lea eax, [ebp - 0xc9e4]
push eax
lea ecx, [ebp - 0xc9c8]
call fcn.01094c50
jmp 0x114e776
mov ecx, dword [ebp - 0xc9d4]
mov edx, dword [ebp - 0xc9d4]
mov eax, dword [ecx]
add eax, dword [edx + 0x10]
mov ecx, dword [ecx + 4]
adc ecx, dword [edx + 0x14]
mov edx, dword [ebp - 0x10ae4]
mov dword [ebp - 0x10b0c], eax
mov dword [ebp - 0x10b08], ecx
mov dword [ebp - 0x10b10], edx
mov eax, dword [ebp - 0x10b10]
mov ecx, dword [ebp - 0x10b08]
cmp ecx, dword [eax + 0x1dc]
jl 0x114ed3e
jg 0x114e86f
mov edx, dword [ebp - 0x10b10]
mov eax, dword [ebp - 0x10b0c]
cmp eax, dword [edx + 0x1d8]
jbe 0x114ed3e
mov dword [ebp - 0xc9a0], 1
mov dword [ebp - 0x818], 1
mov dword [ebp - 0xc9fc], 0
mov dword [ebp - 0xc9f8], 0
mov dword [ebp - 0xca04], 0
mov dword [ebp - 0xca00], 0
mov ecx, dword [ebp - 0xc9d4]
mov edx, dword [ebp - 0x10ae4]
mov dword [ebp - 0x10b14], ecx
mov dword [ebp - 0x10b18], edx
mov eax, dword [ebp - 0x10b14]
mov ecx, dword [ebp - 0x10b18]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 0x1dc]
jl 0x114e926
jg 0x114e8f2
mov eax, dword [ebp - 0x10b14]
mov ecx, dword [ebp - 0x10b18]
mov edx, dword [eax]
cmp edx, dword [ecx + 0x1d8]
jb 0x114e926
mov eax, dword [ebp - 0xc9d4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc9fc], ecx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0xc9f8], edx
mov eax, dword [ebp - 0xc9d4]
mov ecx, dword [eax]
mov dword [ebp - 0xca04], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xca00], edx
jmp 0x114e9c0
mov eax, dword [ebp - 0xc9d4]
mov ecx, dword [ebp - 0xc9d4]
mov edx, dword [eax]
add edx, dword [ecx + 0x10]
mov eax, dword [eax + 4]
adc eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x10ae4]
sub edx, dword [ecx + 0x1d8]
sbb eax, dword [ecx + 0x1dc]
mov dword [ebp - 0xc9fc], edx
mov dword [ebp - 0xc9f8], eax
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x1d8]
mov dword [ebp - 0xca04], eax
mov ecx, dword [edx + 0x1dc]
mov dword [ebp - 0xca00], ecx
mov edx, dword [ebp - 0xc9d4]
mov eax, dword [edx]
mov dword [ebp - 0xca34], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0xca30], ecx
mov edx, dword [ebp - 0xc9d4]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0xc9fc]
mov ecx, dword [edx + 0x14]
sbb ecx, dword [ebp - 0xc9f8]
mov dword [ebp - 0xca2c], eax
lea edx, [ebp - 0xca34]
push edx
lea ecx, [ebp - 0xc9c8]
call fcn.01094c50
xor eax, eax
mov byte [ebp - 0x10aba], al
lea ecx, [ebp - 0x10aba]
push ecx
lea ecx, [ebp - 0xc9f4]
call fcn.01099550
mov byte [ebp - 4], 5
cmp dword [ebp - 0x810], 0
jne 0x114eb15
push 0
lea edx, [ebp - 0xc9f4]
push edx
mov eax, dword [ebp - 0xc9f8]
push eax
mov ecx, dword [ebp - 0xc9fc]
push ecx
mov ecx, dword [ebp - 0x10ae4]
add ecx, 0x140
call fcn.0117da00
test eax, eax
jne 0x114eb10
lea edx, [ebp - 0x80c]
push edx
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
call fcn.010906a0
mov dword [ebp - 0x10b1c], eax
push 0x44f
push 0x1012154
call fcn.0114b660
push eax
push 0x101257c
mov ecx, dword [ebp - 0x10b1c]
push ecx
mov edx, dword [ebp - 0x10b1c]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0xc
push 0xd7
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov ecx, dword [ebp - 0x10ae4]
mov ecx, dword [ecx + 0x130]
mov edx, dword [eax]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ac0], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc9f4]
call fcn.01155040
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc9c8]
call fcn.01155040
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc9b8]
call fcn.01161230
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ac0]
jmp 0x114f7b5
jmp 0x114ec6d
lea ecx, [ebp - 0xc9c8]
call fcn.01129490
test eax, eax
jbe 0x114eb4a
lea ecx, [ebp - 0xc9c8]
call fcn.01129490
sub eax, 1
push eax
lea ecx, [ebp - 0xc9c8]
call fcn.01086d40
push eax
lea ecx, [ebp - 0xc9f4]
call fcn.01094c50
push 1
lea ecx, [ebp - 0xc9f4]
push ecx
mov edx, dword [ebp - 0xc9f8]
push edx
mov eax, dword [ebp - 0xc9fc]
push eax
mov ecx, dword [ebp - 0x10ae4]
add ecx, 0x140
call fcn.0117da00
test eax, eax
jne 0x114ec6d
lea ecx, [ebp - 0x80c]
push ecx
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov ecx, dword [ebp - 0x10ae4]
mov ecx, dword [ecx + 0x130]
mov edx, dword [eax]
mov eax, dword [edx + 0x34]
call eax
call fcn.010906a0
mov dword [ebp - 0x10b20], eax
push 0x45e
push 0x1012154
call fcn.0114b660
push eax
push 0x101257c
mov ecx, dword [ebp - 0x10b20]
push ecx
mov edx, dword [ebp - 0x10b20]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0xc
push 0xd7
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov ecx, dword [ebp - 0x10ae4]
mov ecx, dword [ecx + 0x130]
mov edx, dword [eax]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ac4], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc9f4]
call fcn.01155040
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc9c8]
call fcn.01155040
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc9b8]
call fcn.01161230
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ac4]
jmp 0x114f7b5
mov dword [ebp - 0xca38], 0
jmp 0x114ec88
mov ecx, dword [ebp - 0xca38]
add ecx, 1
mov dword [ebp - 0xca38], ecx
lea ecx, [ebp - 0xc9f4]
call fcn.01129490
cmp dword [ebp - 0xca38], eax
jae 0x114ecbb
mov edx, dword [ebp - 0xca38]
push edx
lea ecx, [ebp - 0xc9f4]
call fcn.01086d40
push eax
lea ecx, [ebp - 0xc9c8]
call fcn.01094c50
jmp 0x114ec79
lea ecx, [ebp - 0xca24]
call fcn.01155b50
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xca04]
mov dword [ebp - 0xca24], eax
mov ecx, dword [ebp - 0xca00]
mov dword [ebp - 0xca20], ecx
mov edx, dword [ebp - 0xc9fc]
mov dword [ebp - 0xca1c], edx
mov eax, dword [ebp - 0xc9f8]
mov dword [ebp - 0xca18], eax
lea ecx, [ebp - 0xc9f4]
push ecx
lea ecx, [ebp - 0xca14]
call fcn.011550b0
lea edx, [ebp - 0xca24]
push edx
lea ecx, [ebp - 0x844]
call fcn.01160e70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xca24]
call fcn.0114b0a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xc9f4]
call fcn.01155040
jmp 0x114ed76
mov eax, dword [ebp - 0xc9d4]
mov ecx, dword [eax]
mov dword [ebp - 0xca4c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xca48], edx
mov eax, dword [ebp - 0xc9d4]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xca44], ecx
lea edx, [ebp - 0xca4c]
push edx
lea ecx, [ebp - 0xc9c8]
call fcn.01094c50
jmp 0x114e776
mov eax, dword [ebp - 0x10ae4]
mov dword [ebp - 0x10b24], eax
mov ecx, dword [ebp - 0x10b24]
cmp dword [ecx + 0x425c], 0
jg 0x114ee00
jl 0x114eda7
mov edx, dword [ebp - 0x10b24]
cmp dword [edx + 0x4258], 0
jae 0x114ee00
mov eax, dword [ebp - 0x4854]
or eax, dword [ebp - 0x4850]
jne 0x114ee00
mov ecx, dword [ebp - 0x848]
cmp dword [ecx], 0x80
jne 0x114ee00
lea ecx, [ebp - 0xc9c8]
call fcn.01129490
test eax, eax
jbe 0x114ee00
push 0
lea ecx, [ebp - 0xc9c8]
call fcn.01086d40
mov edx, dword [ebp - 0x10ae4]
mov ecx, dword [eax]
mov dword [edx + 0x4258], ecx
mov eax, dword [eax + 4]
mov dword [edx + 0x425c], eax
mov dword [ebp - 0x4858], 1
cmp dword [ebp - 0xc9a0], 0
jne 0x114ee70
mov ecx, dword [ebp - 0x88c0]
add ecx, dword [ebp - 0x88bc]
mov dword [ebp - 0xca50], ecx
mov edx, dword [ebp - 0x848]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x848]
push ecx
mov edx, dword [ebp - 0xca50]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x848]
mov ecx, dword [ebp - 0x88bc]
add ecx, dword [eax + 4]
mov dword [ebp - 0x88bc], ecx
mov edx, dword [ebp - 0x88c0]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0x848]
add eax, dword [ecx + 4]
mov edx, dword [ebp - 0x88c0]
mov dword [edx + 0x18], eax
jmp 0x114efc7
push 0x80000
call fcn.0108b3e0
add esp, 4
mov dword [ebp - 0x10ac8], eax
mov eax, dword [ebp - 0x10ac8]
mov dword [ebp - 0xca5c], eax
push 0x80000
push 0
mov ecx, dword [ebp - 0xca5c]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
lea edx, [ebp - 0xc9c8]
push edx
mov ecx, dword [ebp - 0x10ae4]
call fcn.01150040
mov eax, dword [ebp - 0xca5c]
push eax
lea ecx, [ebp - 0xc9c8]
push ecx
mov edx, dword [ebp - 0x848]
push edx
mov ecx, dword [ebp - 0x10ae4]
call fcn.01150220
mov eax, dword [ebp - 0xca5c]
mov dword [ebp - 0xca58], eax
mov ecx, dword [ebp - 0x88c0]
add ecx, dword [ebp - 0x88bc]
mov dword [ebp - 0xca54], ecx
mov edx, dword [ebp - 0x88c0]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebp - 0xca58]
add eax, dword [ecx + 4]
mov edx, dword [ebp - 0x10ae4]
cmp eax, dword [edx + 0x42ac]
ja 0x114ef37
mov eax, dword [ebp - 0xca58]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0xca5c]
push edx
mov eax, dword [ebp - 0xca54]
push eax
call sub.ntdll.dll_memcpy
add esp, 0xc
jmp 0x114ef7c
call fcn.010906a0
mov dword [ebp - 0x10b28], eax
mov ecx, dword [ebp - 0x4850]
push ecx
mov edx, dword [ebp - 0x4854]
push edx
push 0x498
push 0x1012154
call fcn.0114b660
push eax
push 0x1012558
mov eax, dword [ebp - 0x10b28]
push eax
mov ecx, dword [ebp - 0x10b28]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add esp, 0x14
mov ecx, dword [ebp - 0xca58]
mov edx, dword [ebp - 0x88bc]
add edx, dword [ecx + 4]
mov dword [ebp - 0x88bc], edx
mov eax, dword [ebp - 0x88c0]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0xca58]
add ecx, dword [edx + 4]
mov eax, dword [ebp - 0x88c0]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0xca5c]
mov dword [ebp - 0x10acc], ecx
mov edx, dword [ebp - 0x10acc]
push edx
call fcn.0108b400
add esp, 4
lea ecx, [ebp - 0x88b4]
call fcn.01148000
mov dword [ebp - 0x848], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc9c8]
call fcn.01155040
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc9b8]
call fcn.01161230
jmp 0x114e5ad
cmp dword [ebp - 0x818], 0
jne 0x114f027
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
jmp 0x114e0f9
mov eax, dword [ebp - 0x88c0]
add eax, dword [ebp - 0x88bc]
mov dword [ebp - 0x88b8], eax
mov ecx, dword [ebp - 0x88c0]
mov edx, dword [ecx + 0x18]
add edx, 8
mov eax, dword [ebp - 0x10ae4]
cmp edx, dword [eax + 0x42ac]
ja 0x114f066
mov ecx, dword [ebp - 0x88b8]
mov dword [ecx], 0xffffffff
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x88c0]
mov eax, dword [edx + 0x18]
add eax, 8
mov ecx, dword [ebp - 0x88c0]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x88c0]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [eax + 0x42ac]
ja 0x114f09c
mov dword [ebp - 0x810], 0
mov edx, dword [ebp - 0x88c0]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [eax + 0x42ac]
jbe 0x114f2f0
cmp dword [ebp - 0x810], 0
je 0x114f19f
lea edx, [ebp - 0x80c]
push edx
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
call fcn.010906a0
mov dword [ebp - 0x10b2c], eax
mov ecx, dword [ebp - 0x4850]
push ecx
mov edx, dword [ebp - 0x4854]
push edx
push 0x4bb
push 0x1012154
call fcn.0114b660
push eax
push 0x1012518
mov eax, dword [ebp - 0x10b2c]
push eax
mov ecx, dword [ebp - 0x10b2c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add esp, 0x14
push 0xd7
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x130]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [edx]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ad0], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ad0]
jmp 0x114f7b5
cmp dword [ebp - 0x4858], 0
je 0x114f1cc
mov ecx, dword [ebp - 0x10ae4]
mov dword [ecx + 0x4258], 0xffffffff
mov dword [ecx + 0x425c], 0xffffffff
mov dword [ebp - 0x4858], 0
mov edx, dword [ebp - 0x834]
sub edx, 1
mov eax, dword [ebp - 0x830]
sbb eax, 0
mov dword [ebp - 0x834], edx
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x810], 1
mov dword [ebp - 0xca60], 0
jmp 0x114f20f
mov ecx, dword [ebp - 0xca60]
add ecx, 1
mov dword [ebp - 0xca60], ecx
lea ecx, [ebp - 0x844]
call fcn.011552e0
cmp dword [ebp - 0xca60], eax
jae 0x114f2cd
mov edx, dword [ebp - 0xca60]
push edx
lea ecx, [ebp - 0x844]
call fcn.01155320
mov dword [ebp - 0xca64], eax
mov dword [ebp - 0xca68], 0
jmp 0x114f259
mov eax, dword [ebp - 0xca68]
add eax, 1
mov dword [ebp - 0xca68], eax
mov ecx, dword [ebp - 0xca64]
add ecx, 0x10
call fcn.01129490
cmp dword [ebp - 0xca68], eax
jae 0x114f2c8
mov ecx, dword [ebp - 0xca68]
push ecx
mov ecx, dword [ebp - 0xca64]
add ecx, 0x10
call fcn.01086d40
mov edx, dword [eax]
mov dword [ebp - 0xca7c], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xca78], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0xca74], edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xca70], eax
mov ecx, dword [ebp - 0xca74]
push ecx
mov edx, dword [ebp - 0xca7c]
push edx
mov ecx, dword [ebp - 0x10ae4]
add ecx, 0x140
call fcn.0117cc80
jmp 0x114f24a
jmp 0x114f200
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
jmp 0x114e0f9
mov eax, dword [ebp - 0x10ae4]
cmp dword [eax + 0x134], 0
jne 0x114f649
mov byte [ebp - 0x10a7c], 0
push 0x3fff
push 0
lea ecx, [ebp - 0x10a7b]
push ecx
call sub.ntdll.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x42ac]
push eax
lea ecx, [ebp - 0x484c]
push ecx
lea edx, [ebp - 0x10a7c]
push edx
call sub.ntdll.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x10a7c]
mov dword [ebp - 0x10a80], eax
mov dword [ebp - 0x10a84], 0
jmp 0x114f36a
mov ecx, dword [ebp - 0x10a84]
add ecx, 1
mov dword [ebp - 0x10a84], ecx
mov edx, dword [ebp - 0x10a80]
movzx eax, word [edx + 6]
sub eax, 1
cmp dword [ebp - 0x10a84], eax
jge 0x114f3e1
mov ecx, dword [ebp - 0x10a84]
add ecx, 1
shl ecx, 9
mov edx, dword [ebp - 0x10a80]
movzx eax, word [edx + 4]
add eax, dword [ebp - 0x10a80]
mov edx, dword [ebp - 0x10a84]
mov esi, dword [ebp - 0x10a80]
mov cx, word [esi + ecx - 2]
mov word [eax + edx*2 + 2], cx
mov edx, dword [ebp - 0x10a80]
movzx eax, word [edx + 4]
mov ecx, dword [ebp - 0x10a84]
add ecx, 1
shl ecx, 9
mov edx, dword [ebp - 0x10a80]
mov esi, dword [ebp - 0x10a80]
mov ax, word [esi + eax]
mov word [edx + ecx - 2], ax
jmp 0x114f35b
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x42ac]
push edx
lea eax, [ebp - 0x10a7c]
push eax
mov ecx, dword [ebp - 0x4850]
push ecx
mov edx, dword [ebp - 0x4854]
push edx
mov ecx, dword [ebp - 0x82c]
call fcn.01163100
test eax, eax
jne 0x114f4b6
call fcn.010906a0
mov dword [ebp - 0x10b30], eax
push 0x4ea
push 0x1012154
call fcn.0114b660
push eax
push 0x10124fc
mov eax, dword [ebp - 0x10b30]
push eax
mov ecx, dword [ebp - 0x10b30]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add esp, 0xc
push 0xd2
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x130]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [edx]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ad4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ad4]
jmp 0x114f7b5
cmp dword [ebp + 0x10], 0
jne 0x114f5ef
mov dword [ebp - 0x10a88], 0
jmp 0x114f4db
mov ecx, dword [ebp - 0x10a88]
add ecx, 1
mov dword [ebp - 0x10a88], ecx
lea ecx, [ebp - 0x844]
call fcn.011552e0
cmp dword [ebp - 0x10a88], eax
jae 0x114f5d8
mov edx, dword [ebp - 0x10a88]
push edx
lea ecx, [ebp - 0x844]
call fcn.01155320
mov dword [ebp - 0x10a90], eax
mov eax, dword [ebp - 0x10a90]
push eax
mov ecx, dword [ebp - 0x10ae4]
call fcn.0114f7d0
mov dword [ebp - 0x10a8c], eax
cmp dword [ebp - 0x10a8c], 0
je 0x114f5d3
call fcn.010906a0
mov dword [ebp - 0x10b34], eax
push 0x4f8
push 0x1012154
call fcn.0114b660
push eax
push 0x10124e0
mov ecx, dword [ebp - 0x10b34]
push ecx
mov edx, dword [ebp - 0x10b34]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
call ecx
add esp, 0xc
mov edx, dword [ebp - 0x10a8c]
push edx
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [ebp - 0x10ae4]
mov eax, dword [edx + 0x130]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10ad8], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ad8]
jmp 0x114f7b5
jmp 0x114f4cc
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x10ae4]
call fcn.0114fd90
jmp 0x114f649
mov dword [ebp - 0x10a94], 0
jmp 0x114f60a
mov ecx, dword [ebp - 0x10a94]
add ecx, 1
mov dword [ebp - 0x10a94], ecx
lea ecx, [ebp - 0x844]
call fcn.011552e0
cmp dword [ebp - 0x10a94], eax
jae 0x114f649
mov edx, dword [ebp - 0x10a94]
push edx
lea ecx, [ebp - 0x844]
call fcn.01155320
mov dword [ebp - 0x10a98], eax
mov eax, dword [ebp - 0x10a98]
push eax
lea ecx, [ebp - 0x828]
call fcn.01160e70
jmp 0x114f5fb
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.01155270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88b4]
call fcn.011471e0
jmp 0x114e0f9
mov ecx, dword [ebp - 0x10ae4]
cmp dword [ecx + 0x134], 0
jne 0x114f793
cmp dword [ebp + 0x10], 0
je 0x114f793
mov dword [ebp - 0x10a9c], 0
jmp 0x114f6a4
mov edx, dword [ebp - 0x10a9c]
add edx, 1
mov dword [ebp - 0x10a9c], edx
lea ecx, [ebp - 0x828]
call fcn.011552e0
cmp dword [ebp - 0x10a9c], eax
jae 0x114f77e
mov eax, dword [ebp - 0x10a9c]
push eax
lea ecx, [ebp - 0x828]
call fcn.01155320
mov dword [ebp - 0x10aa4], eax
mov ecx, dword [ebp - 0x10aa4]
push ecx
mov ecx, dword [ebp - 0x10ae4]
call fcn.0114f7d0
mov dword [ebp - 0x10aa0], eax
cmp dword [ebp - 0x10aa0], 0
je 0x114f779
call fcn.010906a0
mov dword [ebp - 0x10b38], eax
push 0x517
push 0x1012154
call fcn.0114b660
push eax
push 0x10124e0
mov edx, dword [ebp - 0x10b38]
push edx
mov eax, dword [ebp - 0x10b38]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
call edx
add esp, 0xc
mov eax, dword [ebp - 0x10aa0]
push eax
mov ecx, dword [ebp - 0x10ae4]
mov edx, dword [ecx + 0x130]
mov eax, dword [ebp - 0x10ae4]
mov ecx, dword [eax + 0x130]
mov edx, dword [edx]
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10adc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10adc]
jmp 0x114f7b5
jmp 0x114f695
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x10ae4]
call fcn.0114fd90
mov dword [ebp - 0x10ae0], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.01155270
mov eax, dword [ebp - 0x10ae0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0xc