Function at 0x410e31
Capabilities:
Encode data using base64

Disassembly:
mov eax, 0xbfa643
call fcn.00be12c8
sub esp, 0xd4
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
xor ebx, ebx
cmp ecx, ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], ebx
je 0x410e5c
mov eax, dword [ecx]
mov dword [ebp - 0x2c], eax
jmp 0x410e5f
mov dword [ebp - 0x2c], ebx
mov esi, dword [ebp + 0xc]
cmp esi, 9
jge 0x410e70
lea eax, [esi*4 + 0xd80b70]
jmp 0x410e87
lea eax, [esi - 9]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.007baf6b
mov dword [ebp - 0x14], 1
push eax
lea ecx, [ebp - 0x38]
call fcn.0040b62a
test byte [ebp - 0x14], 1
mov dword [ebp - 4], ebx
je 0x410ea4
lea ecx, [ebp - 0xa0]
call fcn.00402dc1
mov eax, dword [ebp - 0x2c]
shl eax, 8
or eax, esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x20], ebx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x68]
lea ecx, [edi + 0x22c]
push eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x34], ecx
call fcn.0041c70f
test eax, eax
je 0x410ee1
mov esi, dword [ebp - 0x20]
call dword [0xd8648c]
mov dword [esi + 0x2c], eax
jmp 0x4114d0
push 0x38
mov ecx, 0xd86a88
call fcn.004030bb
mov dword [ebp + 0xc], eax
cmp eax, ebx
mov byte [ebp - 4], 2
je 0x410f01
mov ecx, eax
call fcn.00411d71
jmp 0x410f03
xor eax, eax
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00417baa
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x5c]
mov dword [ecx + 0x10], esi
push eax
mov ecx, edi
call fcn.00411e73
cmp dword [ebp - 0x58], ebx
je 0x410fc3
push ebx
push ebx
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.00404f9f
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.00417b3d
mov ecx, eax
add ecx, 0xc
call fcn.00402691
mov ecx, eax
call fcn.00403881
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.00403308
cmp eax, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp + 8], ebx
je 0x410f9b
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp + 8]
call fcn.00405935
cmp eax, ebx
jge 0x410f9b
cmp eax, 0x80004002
je 0x410f9b
push eax
call fcn.00be0541
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 7
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x410fb6
push eax
call fcn.00be0541
cmp dword [ebp + 8], ebx
jne 0x410fd4
lea ecx, [ebp + 8]
call fcn.0040283f
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.00418c9b
jmp 0x411cf8
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
cmp dword [ebp + 8], ebx
mov byte [ebp - 4], 8
mov edi, 0x80004003
jne 0x410ff2
push edi
call fcn.00be0541
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x44]
push eax
call fcn.0040393d
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.0040365c
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xb
call fcn.00402807
mov dword [ebp - 0x98], ebx
cmp dword [ebp - 0x14], ebx
jne 0x411028
push edi
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x98]
push edx
lea edx, [ebp - 0x78]
push edx
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x4113ac
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00406be9
add esp, 4
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.0040b62a
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xc
call fcn.00402691
mov ecx, eax
call fcn.00403881
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 0xe
call fcn.004173f9
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
call fcn.0041ddd9
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x11
call fcn.00402807
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x411378
lea eax, [ebp - 0x30]
push eax
call fcn.00403da9
push ebx
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push 0x188f
push eax
mov byte [ebp - 4], 0x12
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x12
call fcn.00402691
mov ecx, eax
call fcn.00403881
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.00403308
cmp eax, ebx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x18], ebx
je 0x411137
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x18]
call fcn.004224ef
cmp eax, ebx
jge 0x411137
cmp eax, 0x80004002
je 0x411137
push eax
call fcn.00be0541
lea eax, [ebp - 0xd0]
push eax
mov byte [ebp - 4], 0x16
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x411152
push eax
call fcn.00be0541
push ebx
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push 0x1897
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x16
call fcn.00402691
mov ecx, eax
call fcn.00403881
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.00403308
cmp eax, ebx
mov dword [ebp - 0x90], eax
mov dword [ebp + 0xc], ebx
je 0x4111be
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp + 0xc]
call fcn.004224ef
cmp eax, ebx
jge 0x4111be
cmp eax, 0x80004002
je 0x4111be
push eax
call fcn.00be0541
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0x1a
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x4111d9
push eax
call fcn.00be0541
push 0x44
mov ecx, 0xd86a88
call fcn.004030bb
mov dword [ebp - 0x28], eax
cmp eax, ebx
mov byte [ebp - 4], 0x1b
je 0x4111fb
mov ecx, eax
call fcn.00411da4
mov esi, eax
jmp 0x4111fd
xor esi, esi
push dword [ebp - 0x1c]
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0x1a
call fcn.0040590a
push 0xb4
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push 0x1878
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1c
call fcn.004172e7
mov ecx, eax
call fcn.00403da9
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x1f
call fcn.004175f4
mov dword [esi + 0x40], eax
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x411286
push eax
call fcn.00be0541
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x1a
call fcn.0040283f
push ebx
lea ecx, [ebp - 0x18]
call fcn.00417299
test al, al
jne 0x41131f
push ebx
lea ecx, [ebp + 0xc]
call fcn.00417299
test al, al
jne 0x41131f
cmp dword [ebp + 0xc], ebx
jne 0x4112c5
push edi
call fcn.00be0541
cmp dword [ebp + 0xc], ebx
jne 0x4112c5
push edi
call fcn.00be0541
cmp dword [ebp - 0x18], ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
jne 0x4112d6
push edi
call fcn.00be0541
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov dword [ebp - 0x28], eax
jne 0x4112e6
push edi
call fcn.00be0541
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x18]
call fcn.00403ba2
mov ecx, dword [ebp - 0x4c]
push eax
call fcn.00403b7b
mov ecx, dword [ebp - 0x28]
push eax
call fcn.00403ba2
push eax
mov ecx, edi
call fcn.00403b7b
push eax
lea eax, [esi + 0x10]
push eax
call fcn.0040cc80
add esp, 0x14
mov edi, 0x80004003
jmp 0x41132f
push ebx
push ebx
push ebx
lea eax, [esi + 0x10]
push ebx
push eax
call fcn.0040cc80
add esp, 0x14
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x50], esi
call fcn.00419091
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 0x18]
mov byte [ebp - 4], 0x20
call fcn.00419f52
lea ecx, [ebp - 0x54]
push ecx
mov ecx, eax
call fcn.00419058
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1a
call fcn.004190a3
lea ecx, [ebp + 0xc]
call fcn.004185f1
lea ecx, [ebp - 0x18]
call fcn.004185f1
lea ecx, [ebp - 0x30]
call fcn.0040283f
lea ecx, [ebp - 0x1c]
call fcn.004185fe
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0xc
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x41139b
push eax
call fcn.00be0541
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call fcn.00402dc1
jmp 0x41101d
push ebx
push ecx
mov eax, esp
mov dword [ebp + 0xc], esp
push 0x3e0
push eax
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xb
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
mov byte [ebp - 4], 0x22
call fcn.004175f4
mov esi, eax
neg esi
lea eax, [ebp - 0xb0]
sbb esi, esi
push eax
neg esi
mov byte [ebp - 4], 0xb
call fcn.00402973
add esp, 0xc
cmp eax, ebx
jge 0x41140e
push eax
call fcn.00be0541
cmp esi, ebx
mov eax, dword [ebp - 0x20]
je 0x411456
mov edi, dword [eax + 0x28]
cmp edi, ebx
je 0x411456
cmp edi, dword [eax + 0x24]
je 0x411439
cmp edi, dword [eax + 0x28]
je 0x411439
lea ecx, [eax + 0x18]
call fcn.00419f52
push edi
mov ecx, eax
call fcn.00419058
mov eax, dword [ebp - 0x20]
mov ecx, edi
add edi, 0xfffffff0
neg ecx
sbb ecx, ecx
and ecx, edi
mov ecx, dword [ecx + 8]
mov edx, ecx
add ecx, 0x10
neg edx
sbb edx, edx
and edx, ecx
mov edi, edx
jne 0x41141c
mov dword [eax + 0x14], esi
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x218]
call fcn.0041c585
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00418cb1
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x34], esi
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0041c763
mov dword [esi + 0x30], eax
mov esi, dword [ebp - 0x20]
call dword [0xd8648c]
lea ecx, [ebp - 0x14]
mov dword [esi + 0x2c], eax
call fcn.0040284c
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 7
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x4114bc
push eax
call fcn.00be0541
lea ecx, [ebp + 8]
call fcn.0040283f
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.00418c9b
mov dword [ebp - 0x40], ebx
cmp dword [ebp + 0x10], ebx
mov byte [ebp - 4], 0x23
je 0x411cd9
push dword [ebp + 0x10]
lea eax, [ebp + 8]
push eax
call fcn.0066e50a
pop ecx
pop ecx
mov eax, dword [ebp + 8]
cmp eax, ebx
mov byte [ebp - 4], 0x24
mov esi, 0xd8d000
je 0x41196e
cmp word [eax], bx
je 0x41196e
push esi
lea ecx, [ebp - 0x88]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x25
call fcn.00402fdb
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x26
call fcn.004173e3
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.004033d8
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x26
call fcn.00406be3
mov ecx, eax
call fcn.004026d6
mov ecx, eax
call fcn.00403ae9
push eax
lea eax, [ebp + 0xc]
push eax
mov byte [ebp - 4], 0x28
call fcn.004173f9
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x29
call fcn.0041dd54
lea ecx, [ebp + 0xc]
call fcn.00402807
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x2d
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x4115a5
push eax
call fcn.00be0541
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0x2c
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x4115bd
push eax
call fcn.00be0541
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x2b
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x4115d8
push eax
call fcn.00be0541
cmp dword [ebp + 0x10], ebx
je 0x4116ec
push 0x20
pop eax
call fcn.00be1990
mov eax, esp
push eax
push dword [ebp - 0x2c]
call fcn.004173e6
add esp, 4
mov dword [ebp - 0x10], esp
mov ecx, esp
push eax
call fcn.00402c3e
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x2b
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x30
call fcn.004173f9
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x31
call fcn.0042242f
cmp eax, ebx
jge 0x41164a
cmp eax, 0x80004002
je 0x41164a
push eax
call fcn.00be0541
lea ecx, [ebp - 0x34]
call fcn.00402807
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0x2b
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x41166d
push eax
call fcn.00be0541
cmp dword [ebp + 0x10], ebx
je 0x4116ec
push ecx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x10], esp
mov ecx, esp
push eax
call fcn.0040b62a
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x2b
call fcn.00402691
mov ecx, eax
call fcn.00403881
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x33
call fcn.004173f9
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x34
call fcn.0042242f
cmp eax, ebx
jge 0x4116c9
cmp eax, 0x80004002
je 0x4116c9
push eax
call fcn.00be0541
lea ecx, [ebp - 0x34]
call fcn.00402807
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0x2b
call fcn.00402973
cmp eax, ebx
pop ecx
jge 0x4116ec
push eax
call fcn.00be0541
lea ecx, [ebp + 0x10]
call fcn.0040283f
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 0x23
cmp eax, ebx
je 0x411709
add eax, 0xfffffff4
push eax
call fcn.004033fd
pop ecx
cmp dword [ebp - 0x40], ebx
je 0x411cd9
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x24]
cmp eax, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x30], eax
je 0x411cf0
mov eax, dword [ebp - 0x30]
mov ecx, eax
mov edx, eax
add eax, 0xfffffff0
neg edx
sbb edx, edx
and edx, eax
mov eax, dword [edx + 4]
mov edx, eax
add eax, 0x10
neg edx
sbb edx, edx
and edx, eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [eax + 0xc]
lea ecx, [ebp + 8]
mov dword [ebp - 0x30], edx
mov dword [ebp + 8], eax
call fcn.0041860b
push 0x20
pop eax
mov byte [ebp - 4], 0x35
call fcn.00be1990
mov eax, esp
push eax
push dword [ebp - 0x2c]
call fcn.004173e6
add esp, 4
mov dword [ebp - 0x10], esp
mov ecx, esp
push eax
call fcn.00402c3e
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x35
call fcn.00402691
mov ecx, eax
call fcn.00403881
xor esi, esi
cmp word [ebp - 0x64], si
mov byte [ebp - 4], 0x37
je 0x411cb0
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004173f9
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x38
call fcn.0041ddd9
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x3a
call fcn.00402807
cmp dword [ebp + 0x10], esi
je 0x411ca8
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x14], esi
je 0x4117f5
mov eax, dword [eax + 0x20]
shr eax, 1
cmp dword [ebp - 0x2c], eax
jne 0x4117f5
or dword [ebp - 0x48], 0xffffffff
cmp dword [ebp + 8], esi
mov ebx, 0x80004003
jne 0x411805
push ebx
call fcn.00be0541
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
call fcn.00411d23
mov esi, eax
mov ecx, edi
neg esi
call fcn.00411d23
neg eax
cmp eax, esi
mov dword [ebp - 0x1c], eax
jl 0x411827
mov dword [ebp - 0x1c], esi
xor edi, edi
cmp dword [ebp + 0x10], edi
jne 0x41183f
push ebx
call fcn.00be0541
cmp dword [ebp + 0x10], edi
jne 0x41183f
push ebx
call fcn.00be0541
cmp dword [ebp + 8], edi
mov esi, dword [ebp + 0x10]
jne 0x41184d
push ebx
call fcn.00be0541
mov eax, dword [ebp + 8]
cmp eax, edi
mov dword [ebp - 0x28], eax
jne 0x41185d
push ebx
call fcn.00be0541
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
call fcn.00411d23
mov edx, eax
mov ecx, esi
mov dword [ebp - 0x10], edx
call fcn.0040b738
mov esi, eax
mov eax, dword [ebp - 0x10]
mov ecx, edi
sub esi, eax
call fcn.0040b738
mov ecx, dword [ebp - 0x28]
mov edi, eax
call fcn.00411d23
sub edi, eax
cmp esi, edi
mov dword [ebp - 0x3c], edi
jl 0x411898
mov dword [ebp - 0x3c], esi
cmp dword [ebp + 0x10], 0
jne 0x4118a4
push ebx
call fcn.00be0541
cmp dword [ebp + 8], 0
jne 0x4118b0
push ebx
call fcn.00be0541
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
call fcn.00411d4a
mov esi, eax
mov ecx, edi
neg esi
call fcn.00411d4a
neg eax
cmp eax, esi
mov dword [ebp - 0x18], eax
jl 0x4118d2
mov dword [ebp - 0x18], esi
xor edi, edi
cmp dword [ebp + 0x10], edi
jne 0x4118ea
push ebx
call fcn.00be0541
cmp dword [ebp + 0x10], edi
jne 0x4118ea
push ebx
call fcn.00be0541
cmp dword [ebp + 8], edi
mov esi, dword [ebp + 0x10]
jne 0x4118f8
push ebx
call fcn.00be0541
mov eax, dword [ebp + 8]
cmp eax, edi
mov dword [ebp - 0x28], eax
jne 0x411908
push ebx
call fcn.00be0541
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
call fcn.00411d4a
mov edx, eax
mov ecx, esi
mov dword [ebp - 0x10], edx
call fcn.0040b75f
mov esi, eax
mov eax, dword [ebp - 0x10]
mov ecx, edi
sub esi, eax
call fcn.0040b75f
mov ecx, dword [ebp - 0x28]
mov edi, eax
call fcn.00411d4a
sub edi, eax
cmp esi, edi
mov dword [ebp - 0x14], edi
jl 0x411943
mov dword [ebp - 0x14], esi
and dword [ebp + 0xc], 0
lea eax, [ebp - 0x4c]
push 0x326
push eax
mov byte [ebp - 4], 0x3b
call fcn.00877d11
mov ecx, eax
call fcn.00406a03
mov eax, dword [eax]
test eax, eax
mov byte [ebp - 4], 0x3c
je 0x411977
mov eax, dword [eax]
jmp 0x411979
mov byte [ebp - 4], 0x23
jmp 0x4116fb
xor eax, eax
push 0
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.0040396f
add esp, 0xc
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x3b
call fcn.00402dc1
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x88]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x3d
call fcn.00402fdb
mov eax, dword [ebp + 0xc]
test eax, eax
mov byte [ebp - 4], 0x3e
jne 0x4119c6
push ebx
call fcn.00be0541
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x18]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x88]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x78]
movsd dword es:[edi], dword [esi]
push ecx
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push eax
mov dword [ebp - 0x10], eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x2c]
test eax, eax
jge 0x411a0a
push 0xd3b9b8
push dword [ebp - 0x10]
push eax
call fcn.00be054f
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0x3d
call fcn.00402973
xor esi, esi
cmp eax, esi
pop ecx
jge 0x411a24
push eax
call fcn.00be0541
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 0x3b
call fcn.00402973
cmp eax, esi
pop ecx
jge 0x411a3f
push eax
call fcn.00be0541
push 3
push 0xff
lea ecx, [ebp - 0xd0]
call fcn.00403001
cmp dword [ebp + 8], esi
mov byte [ebp - 4], 0x3f
jne 0x411a6b
push ebx
call fcn.00be0541
cmp dword [ebp + 8], esi
jne 0x411a6b
push ebx
call fcn.00be0541
cmp dword [ebp + 0xc], esi
mov edi, dword [ebp + 8]
jne 0x411a79
push ebx
call fcn.00be0541
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ecx
call fcn.00411d4a
mov ebx, eax
add ebx, dword [ebp - 0x18]
mov ecx, edi
neg ebx
call fcn.00411d23
mov ecx, dword [esi]
add eax, dword [ebp - 0x1c]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x10]
lea esi, [ebp - 0xd0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
neg eax
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp - 0x14]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x80]
test eax, eax
jge 0x411ace
push 0xd3b9b8
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0xd0]
push eax
mov byte [ebp - 4], 0x3b
call fcn.00402973
xor ebx, ebx
cmp eax, ebx
pop ecx
jge 0x411aeb
push eax
call fcn.00be0541
push 3
push 0xff
lea ecx, [ebp - 0xe0]
call fcn.00403001
cmp dword [ebp + 0x10], ebx
mov byte [ebp - 4], 0x40
mov esi, 0x80004003
jne 0x411b1c
push esi
call fcn.00be0541
cmp dword [ebp + 0x10], ebx
jne 0x411b1c
push esi
call fcn.00be0541
cmp dword [ebp + 0xc], ebx
mov edi, dword [ebp + 0x10]
jne 0x411b2a
push esi
call fcn.00be0541
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ecx
call fcn.00411d4a
mov ebx, eax
add ebx, dword [ebp - 0x18]
mov ecx, edi
neg ebx
call fcn.00411d23
mov ecx, dword [esi]
add eax, dword [ebp - 0x1c]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x10]
lea esi, [ebp - 0xe0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
neg eax
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp - 0x14]
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x80]
test eax, eax
mov esi, 0xd3b9b8
jge 0x411b80
push esi
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 0x3b
call fcn.00402973
test eax, eax
pop ecx
jge 0x411b9b
push eax
call fcn.00be0541
cmp dword [ebp + 0xc], 0
jne 0x411bab
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi]
neg eax
push eax
push edi
call dword [ecx + 0x70]
test eax, eax
jge 0x411bc6
push esi
push edi
push eax
call fcn.00be054f
cmp dword [ebp + 0xc], 0
jne 0x411bd6
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi]
neg eax
push eax
push edi
call dword [ecx + 0x78]
test eax, eax
jge 0x411bf1
push esi
push edi
push eax
call fcn.00be054f
push 0x44
mov ecx, 0xd86a88
call fcn.004030bb
mov dword [ebp - 0x10], eax
test eax, eax
mov byte [ebp - 4], 0x41
je 0x411c13
mov ecx, eax
call fcn.00411da4
mov ebx, eax
jmp 0x411c15
xor ebx, ebx
push dword [ebp + 0xc]
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0x3b
call fcn.0040590a
mov eax, dword [ebp - 0x44]
push 0xc
lea esi, [eax + 0x10]
pop ecx
lea edi, [ebx + 0x10]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x40]
lea ecx, [ebp - 0x54]
mov dword [ebx + 0x40], eax
mov dword [ebp - 0x50], ebx
call fcn.00419091
mov ecx, dword [ebp + 0x14]
mov byte [ebp - 4], 0x42
call fcn.00419f52
lea ecx, [ebp - 0x54]
push ecx
mov ecx, eax
call fcn.00419058
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x3b
call fcn.004190a3
lea ecx, [ebp + 0xc]
call fcn.004185fe
lea ecx, [ebp + 0x10]
call fcn.004185fe
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0x35
call fcn.00402973
test eax, eax
pop ecx
jge 0x411c8e
push eax
call fcn.00be0541
lea ecx, [ebp + 8]
call fcn.004185fe
mov eax, dword [ebp - 0x48]
add dword [ebp - 0x2c], eax
cmp dword [ebp - 0x30], 0
jne 0x41172d
jmp 0x411cf0
lea ecx, [ebp + 0x10]
call fcn.004185fe
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 0x35
call fcn.00402973
cmp eax, esi
pop ecx
jge 0x411cc8
push eax
call fcn.00be0541
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x23
call fcn.004185fe
cmp dword [ebp - 0x30], esi
je 0x411cf0
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp - 0x20]
call fcn.00419f90
mov ecx, dword [ebp + 0x14]
add esi, 0x18
push esi
call fcn.004187a3
lea ecx, [ebp - 0x40]
call fcn.0040283f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00418cea
lea ecx, [ebp - 0x38]
call fcn.00402dc1
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0xec]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10