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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101a0278
mov eax, dword fs:[0]
push eax
sub esp, 0x138
push ebx
push esi
push edi
mov eax, dword [0x10218460]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x20], edi
mov ebx, dword [ebp + 8]
push ebx
call fcn.1005e6c0
lea eax, [esp + 0xd0]
call fcn.10089c40
mov dword [esp + 0x150], 0
mov eax, dword [eax + 4]
push 0
mov esi, eax
push 0x10222b70
mov eax, ebx
call fcn.10066a10
add esp, 8
mov dword [esp + 0x150], 0xffffffff
cmp dword [ebx + 0xc], 2
je 0x1012446a
lea ecx, [edi + 8]
mov eax, ebx
call fcn.1005ba90
mov eax, dword [edi + 0x64]
mov edx, dword [eax + 0x10]
lea esi, [edi + 0x64]
push ebx
mov ecx, esi
mov dword [esp + 0x28], esi
call edx
mov eax, dword [edi + 0x40]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x40]
push ebx
mov dword [esp + 0x2c], ecx
call edx
mov eax, dword [edi + 0x1c]
mov edx, dword [eax + 0x10]
lea ecx, [edi + 0x1c]
push ebx
mov dword [esp + 0x30], ecx
call edx
cmp dword [esi + 0x10], 0
jle 0x101242ed
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
jmp 0x101242ef
xor eax, eax
cmp dword [esi + 0x10], 0
jle 0x101242fd
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 8]
jmp 0x101242ff
xor ecx, ecx
push ecx
lea edx, [edi + 0x88]
push edx
call fcn.10123260
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
cmp dword [esi + 0x10], 0
jle 0x10124324
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
jmp 0x10124326
xor eax, eax
cmp dword [esp + 0x14], eax
jge 0x10124382
xor esi, esi
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x10], 0
jle 0x10124344
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
jmp 0x10124346
xor eax, eax
cmp dword [esp + 0x18], eax
jge 0x10124372
mov edx, dword [edi + 0x8c]
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + eax + 4]
mov edx, dword [ecx + esi + 0x14]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + esi + 0x14]
push ebx
call eax
add dword [esp + 0x18], 1
add esi, 0x24
jmp 0x10124332
add dword [esp + 0x14], 1
add dword [esp + 0x10], 0x14
mov esi, dword [esp + 0x24]
jmp 0x10124316
cmp dword [esi + 0x10], 0
jle 0x10124390
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
jmp 0x10124392
xor eax, eax
cmp dword [esi + 0x10], 0
jle 0x101243a0
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 8]
jmp 0x101243a2
xor ecx, ecx
push ecx
lea ecx, [edi + 0xa0]
push ecx
call fcn.10123260
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
lea esp, [esp]
cmp dword [esi + 0x10], 0
jle 0x101243ce
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 8]
jmp 0x101243d0
xor eax, eax
cmp dword [esp + 0x14], eax
jge 0x10124430
xor esi, esi
mov dword [esp + 0x18], esi
lea esp, [esp]
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x10], 0
jle 0x101243f2
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
jmp 0x101243f4
xor eax, eax
cmp dword [esp + 0x18], eax
jge 0x10124420
mov ecx, dword [edi + 0xa4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 4]
mov edx, dword [eax + esi + 0x14]
lea ecx, [eax + esi + 0x14]
mov eax, dword [edx + 0x10]
push ebx
call eax
add dword [esp + 0x18], 1
add esi, 0x24
jmp 0x101243e0
add dword [esp + 0x14], 1
add dword [esp + 0x10], 0x14
mov esi, dword [esp + 0x24]
jmp 0x101243c0
lea ecx, [edi + 0x18]
mov eax, ebx
call fcn.1005bb50
lea ecx, [edi + 0x9c]
mov eax, ebx
call fcn.1005ba90
lea ecx, [edi + 0xb4]
mov eax, ebx
call fcn.1005ba90
lea ecx, [edi + 0xcc]
mov eax, ebx
mov dword [esp + 0x10], ecx
call fcn.1005ba90
jmp 0x10124bf4
mov edi, str.system_class_
call fcn.1005b870
mov esi, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
lea ecx, [esi + 8]
mov eax, ebx
call fcn.1005ba90
mov edi, str.init_state_cov_
call fcn.1005b870
mov edx, dword [esi + 0x64]
mov eax, dword [edx + 0x10]
add esi, 0x64
push ebx
mov ecx, esi
mov dword [esp + 0x28], esi
call eax
mov edi, str.mex_noise_cov_
call fcn.1005b870
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x10]
add ecx, 0x40
push ebx
mov dword [esp + 0x2c], ecx
call eax
mov edi, str.control_input_
call fcn.1005b870
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + 0x10]
add ecx, 0x1c
push ebx
mov dword [esp + 0x30], ecx
call eax
push 1
lea ecx, [esp + 0x100]
call fcn.100098a0
push 1
lea ecx, [esp + 0xdc]
mov dword [esp + 0x154], 1
call fcn.100098a0
push 1
lea ecx, [esp + 0x34]
mov byte [esp + 0x154], 2
call fcn.100098a0
mov byte [esp + 0x150], 3
cmp dword [esi + 0x10], 0
jle 0x1012452d
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
jmp 0x1012452f
xor eax, eax
cmp dword [esi + 0x10], 0
jle 0x1012453d
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 8]
jmp 0x1012453f
xor ecx, ecx
push ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x88
push ecx
call fcn.10123260
xor eax, eax
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x10], 0
mov dword [esp + 0x18], eax
jle 0x10124568
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 8]
jmp 0x1012456a
xor ecx, ecx
cmp eax, ecx
jge 0x101247d3
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
lea esp, [esp]
cmp dword [esi + 0x10], 0
jle 0x1012458e
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 8]
jmp 0x10124590
xor ecx, ecx
cmp edi, ecx
jge 0x101247c6
push eax
push 0x101babe0
lea esi, [esp + 0x104]
call fcn.1000e8f0
push edi
push 0x101babe0
lea esi, [esp + 0xe8]
call fcn.1000e8f0
lea edx, [esp + 0x130]
push edx
lea esi, [esp + 0x110]
mov ecx, str.transCoeff_
call fcn.10071a20
add esp, 0x14
push 0x101d99fc
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
mov byte [esp + 0x158], 4
call fcn.10026080
lea edx, [esp + 0x88]
push edx
push eax
lea ecx, [esp + 0xe0]
mov byte [esp + 0x158], 5
call fcn.10043610
push 0x101d9a00
lea ecx, [esp + 0xb0]
push ecx
mov ecx, eax
mov byte [esp + 0x158], 6
call fcn.10026080
mov ebx, eax
lea edx, [esp + 0x30]
cmp ebx, edx
mov byte [esp + 0x150], 7
je 0x10124666
mov eax, dword [ebx + 0x18]
lea edi, [eax + 1]
mov esi, edx
mov dword [esp + 0x48], eax
call fcn.10006150
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x34]
add eax, 1
push eax
push ecx
push edx
call fcn.101834d0
add esp, 0xc
mov byte [esp + 0x150], 6
mov edi, vtable.ert_TmplArr_char_.0
xor esi, esi
cmp byte [esp + 0xbd], 0
mov dword [esp + 0xac], edi
je 0x1012469a
mov eax, dword [esp + 0xb0]
cmp eax, esi
je 0x1012469a
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 5
cmp byte [esp + 0x99], 0
mov ebx, vtable.ert_RefCounter.0
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
mov byte [esp + 0xbd], 0
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x88], edi
je 0x101246f0
mov eax, dword [esp + 0x8c]
cmp eax, esi
je 0x101246f0
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 4
cmp byte [esp + 0x6d], 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov byte [esp + 0x99], 0
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x5c], edi
je 0x10124738
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x10124738
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 3
cmp byte [esp + 0x131], 0
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x6d], 0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x120], edi
je 0x1012477a
mov eax, dword [esp + 0x124]
cmp eax, esi
je 0x1012477a
push eax
call fcn.10178e5d
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x8c]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx + 4]
add eax, dword [esp + 0x10]
je 0x10124795
lea esi, [eax + 0x14]
mov edi, dword [esp + 0x34]
mov ebx, dword [ebp + 8]
call fcn.1005b870
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
push ebx
mov ecx, esi
call edx
add dword [esp + 0x14], 1
add dword [esp + 0x10], 0x24
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
jmp 0x10124580
add eax, 1
add dword [esp + 0x1c], 0x14
jmp 0x10124556
cmp dword [esi + 0x10], 0
jle 0x101247e1
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
jmp 0x101247e3
xor eax, eax
cmp dword [esi + 0x10], 0
jle 0x101247f1
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 8]
jmp 0x101247f3
xor ecx, ecx
mov edx, dword [esp + 0x20]
push ecx
add edx, 0xa0
push edx
call fcn.10123260
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [esi + 0x10], 0
mov dword [esp + 0x18], eax
jle 0x1012481c
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 8]
jmp 0x1012481e
xor ecx, ecx
cmp eax, ecx
jge 0x10124aa7
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
cmp dword [esi + 0x10], 0
jle 0x1012483e
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 8]
jmp 0x10124840
xor ecx, ecx
cmp edi, ecx
jge 0x10124a9a
push eax
push 0x101babe0
lea esi, [esp + 0x104]
call fcn.1000e8f0
push edi
push 0x101babe0
lea esi, [esp + 0xe8]
call fcn.1000e8f0
lea eax, [esp + 0x130]
push eax
lea esi, [esp + 0x110]
mov ecx, str.procNoiseCovCoeff_
call fcn.10071a20
add esp, 0x14
push 0x101d99fc
lea ecx, [esp + 0xb0]
push ecx
mov ecx, eax
mov byte [esp + 0x158], 8
call fcn.10026080
lea edx, [esp + 0x88]
push edx
push eax
lea ecx, [esp + 0xe0]
mov byte [esp + 0x158], 9
call fcn.10043610
push 0x101d9a00
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
mov byte [esp + 0x158], 0xa
call fcn.10026080
mov ebx, eax
lea edx, [esp + 0x30]
cmp ebx, edx
mov byte [esp + 0x150], 0xb
je 0x10124916
mov eax, dword [ebx + 0x18]
lea edi, [eax + 1]
mov esi, edx
mov dword [esp + 0x48], eax
call fcn.10006150
mov eax, dword [esp + 0x48]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x34]
add eax, 1
push eax
push ecx
push edx
call fcn.101834d0
add esp, 0xc
mov byte [esp + 0x150], 0xa
mov ebx, vtable.ert_TmplArr_char_.0
xor esi, esi
cmp byte [esp + 0x6d], 0
mov dword [esp + 0x5c], ebx
je 0x10124941
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x10124941
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 9
cmp byte [esp + 0x99], 0
mov edi, vtable.ert_RefCounter.0
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x6d], 0
mov dword [esp + 0x78], edi
mov dword [esp + 0x88], ebx
je 0x10124988
mov eax, dword [esp + 0x8c]
cmp eax, esi
je 0x10124988
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 8
cmp byte [esp + 0xbd], 0
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov byte [esp + 0x99], 0
mov dword [esp + 0xa4], edi
mov dword [esp + 0xac], ebx
je 0x101249d9
mov eax, dword [esp + 0xb0]
cmp eax, esi
je 0x101249d9
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 3
cmp byte [esp + 0x131], 0
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
mov byte [esp + 0xbd], 0
mov dword [esp + 0xc8], edi
mov dword [esp + 0x120], ebx
je 0x10124a2a
mov eax, dword [esp + 0x124]
cmp eax, esi
je 0x10124a2a
push eax
call fcn.10178e5d
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xa4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], esi
mov byte [esp + 0x131], 0
mov dword [esp + 0x13c], edi
je 0x10124a69
lea esi, [eax + 0x14]
mov edi, dword [esp + 0x34]
mov ebx, dword [ebp + 8]
call fcn.1005b870
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
push ebx
mov ecx, esi
call edx
add dword [esp + 0x14], 1
add dword [esp + 0x1c], 0x24
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
jmp 0x10124830
add eax, 1
add dword [esp + 0x10], 0x14
jmp 0x1012480a
mov edi, str.dTE_
call fcn.1005b870
mov esi, dword [esp + 0x20]
lea ecx, [esi + 0x18]
mov eax, ebx
call fcn.1005bb50
mov edi, str.trans_coeff_order_
call fcn.1005b870
lea ecx, [esi + 0x9c]
mov eax, ebx
call fcn.1005ba90
mov edi, str.proc_noise_coeff_order_
call fcn.1005b870
lea ecx, [esi + 0xb4]
mov eax, ebx
call fcn.1005ba90
mov edi, str.state_pred_coeff_order_
call fcn.1005b870
lea ecx, [esi + 0xcc]
mov eax, ebx
mov dword [esp + 0x10], ecx
call fcn.1005ba90
mov byte [esp + 0x150], 2
xor ebx, ebx
cmp byte [esp + 0x41], bl
mov edi, vtable.ert_TmplArr_char_.0
mov dword [esp + 0x30], edi
je 0x10124b32
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x10124b32
push eax
call fcn.10178e5d
add esp, 4
mov byte [esp + 0x150], 1
cmp byte [esp + 0xe9], bl
mov esi, vtable.ert_RefCounter.0
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x41], bl
mov dword [esp + 0x4c], esi
mov dword [esp + 0xd8], edi
je 0x10124b77
mov eax, dword [esp + 0xdc]
cmp eax, ebx
je 0x10124b77
push eax
call fcn.10178e5d
add esp, 4
mov dword [esp + 0x150], 0xffffffff
cmp byte [esp + 0x10d], bl
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xe9], bl
mov dword [esp + 0xf4], esi
mov dword [esp + 0xfc], edi
je 0x10124bc9
mov eax, dword [esp + 0x100]
cmp eax, ebx
je 0x10124bc9
push eax
call fcn.10178e5d
add esp, 4
mov edi, dword [esp + 0x20]
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov byte [esp + 0x10d], bl
cmp dword [esi + 0x10], 0
jle 0x10124c02
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
jmp 0x10124c04
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov dword [edi + 0xc], ecx
cmp dword [eax + 0x10], 0
jle 0x10124c19
mov edx, dword [eax + 0xc]
mov eax, dword [edx + 8]
jmp 0x10124c1b
xor eax, eax
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x10], 0
jle 0x10124c30
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
jmp 0x10124c32
xor eax, eax
push 0
lea esi, [edi + 0xd8]
push ecx
mov dword [edi + 0x14], eax
mov dword [esp + 0x30], esi
call fcn.10009380
mov ecx, dword [edi + 0x14]
push 0
lea esi, [edi + 0xfc]
push ecx
mov dword [esp + 0x1c], esi
call fcn.10009380
mov edx, dword [edi + 0x10]
push 0
lea esi, [edi + 0x120]
push edx
mov dword [esp + 0x20], esi
call fcn.10009380
mov eax, dword [edi + 0x10]
push 0
lea esi, [edi + 0x144]
push eax
mov dword [esp + 0x60], esi
call fcn.10009380
mov eax, dword [edi + 0xc]
lea esi, [edi + 0x168]
push eax
mov ebx, esi
mov dword [esp + 0x30], esi
call fcn.1004d110
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
lea ebx, [edi + 0x18c]
push ecx
mov dword [esp + 0x58], ebx
call fcn.1004d110
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0x1b0]
push eax
mov dword [esp + 0x84], ebx
call fcn.1004d110
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0x1d4]
push eax
mov dword [esp + 0x88], ebx
call fcn.1004d110
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
lea ebx, [edi + 0x1f8]
push edx
mov dword [esp + 0xd4], ebx
call fcn.1004d110
lea ecx, [edi + 0xb8]
mov edi, dword [edi + 0xc]
call fcn.10009610
fldz
mov edi, dword [esp + 0x20]
xor ebx, ebx
cmp dword [edi + 0xc], ebx
jle 0x10124d5c
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x10]
fstp st(0)
mov ecx, dword [eax]
mov esi, dword [edi + 0xbc]
add esi, dword [esp + 0x1c]
push 0
add ecx, 1
push ecx
call fcn.10009380
fldz
mov eax, dword [edi + 0xbc]
mov edx, dword [esp + 0x1c]
push ecx
add eax, edx
fst dword [esp]
call fcn.10061260
add ebx, 1
add edx, 0x24
cmp ebx, dword [edi + 0xc]
mov dword [esp + 0x1c], edx
jl 0x10124d15
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
fst dword [esp]
call fcn.10061260
mov eax, dword [esp + 0x14]
push ecx
fst dword [esp]
call fcn.10061260
mov eax, dword [esp + 0x18]
push ecx
fst dword [esp]
call fcn.10061260
mov eax, dword [esp + 0x58]
push ecx
fstp dword [esp]
call fcn.10061260
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.1004c7f0
fldz
mov edx, dword [esp + 0x54]
push ecx
fstp dword [esp]
call fcn.1004d500
fldz
mov edx, dword [esp + 0x80]
push ecx
fstp dword [esp]
call fcn.1004d500
fldz
mov edx, dword [esp + 0x84]
push ecx
fstp dword [esp]
call fcn.1004d500
fldz
mov edx, dword [esp + 0xd0]
push ecx
fstp dword [esp]
call fcn.1004d500
mov al, 1
mov byte [edi + 0x26a], al
mov byte [edi + 0x269], al
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4