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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x442ee8
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4543e4]
xor eax, esp
mov dword [esp + 0x120], eax
push ebx
push esi
push edi
mov eax, dword [0x4543e4]
xor eax, esp
push eax
lea eax, [esp + 0x138]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov eax, SysReAllocString
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb8], eax
mov eax, 0xe
mov edi, ecx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], 0x69
mov byte [esp + 0xa8], bl
mov dword [esp + 0xac], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x9c], 0x44ae28
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov word [esp + 0x10c], ax
push str.Reading_storyboard
push 0x455a48
mov ecx, 0x448218
mov dword [esp + 0x148], ebx
call fcn.00407c30
add edi, 0x28
add esp, 8
lea esi, [esp + 0x38]
mov eax, edi
mov dword [esp + 0x20], edi
call fcn.00401000
lea ecx, [esp + 0x24]
push ecx
push eax
mov ecx, str._Config_UI_Storyboards_Storyboard
mov byte [esp + 0x148], 1
call fcn.0041c8b0
mov byte [esp + 0x140], 3
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x40da6d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, str.PageRef
lea esi, [esp + 0x34]
call fcn.0041c990
mov byte [esp + 0x140], 4
mov esi, dword [esp + 0x34]
push esi
push str.__Page_count:__d
push 0x455a48
mov ecx, 0x448218
call fcn.00407c30
add esp, 0xc
mov dword [esp + 0x14], ebx
cmp esi, ebx
jle 0x40dd32
mov edx, dword [esp + 0x14]
push edx
lea ebx, [esp + 0x20]
lea eax, [esp + 0x34]
call fcn.0041cb40
push 0xb0
mov byte [esp + 0x144], 5
call fcn.0042e4e3
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
mov byte [esp + 0x140], 6
test ebx, ebx
je 0x40db4e
push str.Condition
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.0041c390
mov esi, eax
push str.Name
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x24]
mov byte [esp + 0x148], 7
or dword [esp + 0x18], 1
push eax
call fcn.0041c390
mov ecx, 8
mov dword [esp + 0x140], ecx
or dword [esp + 0x10], 2
cmp dword [esi + 0x14], ecx
jb 0x40db3b
mov esi, dword [esi]
cmp dword [eax + 0x14], ecx
jb 0x40db42
mov eax, dword [eax]
push esi
push eax
push ebx
call fcn.004083e0
mov edi, eax
jmp 0x40db50
xor edi, edi
mov ebx, dword [esp + 0x10]
test bl, 2
je 0x40db9a
and ebx, 0xfffffffd
cmp dword [esp + 0x94], 8
mov dword [esp + 0x10], ebx
jb 0x40db7a
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0042e4d8
add esp, 4
xor edx, edx
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], 0
mov word [esp + 0x80], dx
mov dword [esp + 0x140], 5
test bl, 1
je 0x40dbdc
and ebx, 0xfffffffe
cmp dword [esp + 0x78], 8
mov dword [esp + 0x10], ebx
jb 0x40dbc5
mov eax, dword [esp + 0x64]
push eax
call fcn.0042e4d8
add esp, 4
xor ecx, ecx
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], cx
mov ecx, dword [esp + 0xe4]
lea edx, [esp + 0x18]
cmp edx, ecx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x18], edi
jae 0x40dc6f
lea eax, [esp + 0x18]
cmp edx, eax
ja 0x40dc6f
mov esi, dword [esp + 0xe8]
mov ebx, eax
sub ebx, edx
sar ebx, 2
cmp ecx, esi
jne 0x40dc64
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40df3a
sub esi, edx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x40dc64
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40dc41
xor ecx, ecx
jmp 0x40dc43
add ecx, edx
cmp ecx, eax
jae 0x40dc49
mov ecx, eax
push ecx
lea esi, [esp + 0xe4]
call fcn.00407050
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
test ecx, ecx
je 0x40dcd4
mov edx, dword [edx + ebx*4]
mov dword [ecx], edx
jmp 0x40dccd
mov esi, dword [esp + 0xe8]
cmp ecx, esi
jne 0x40dcc7
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40df3a
sub esi, edx
mov edx, esi
inc eax
sar edx, 2
cmp eax, edx
jbe 0x40dcc7
mov ecx, edx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40dcab
xor ecx, ecx
jmp 0x40dcad
add ecx, edx
cmp ecx, eax
jae 0x40dcb3
mov ecx, eax
push ecx
lea esi, [esp + 0xe4]
call fcn.00407050
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x40dcd4
mov dword [ecx], edi
mov ecx, dword [esp + 0xe4]
add ecx, 4
lea eax, [edi + 0x34]
mov dword [esp + 0xe4], ecx
cmp dword [eax + 0x14], 8
jb 0x40dce9
mov eax, dword [eax]
push eax
push str.__Added:__s
push 0x455a48
mov ecx, 0x448218
call fcn.00407c30
mov byte [esp + 0x14c], 4
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x40dd19
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x34]
jl 0x40dab0
mov edi, dword [esp + 0x20]
xor ebx, ebx
push str.Reading_string_map
push 0x455a48
mov ecx, 0x448218
call fcn.00407c30
add esp, 8
lea esi, [esp + 0x14]
mov eax, edi
call fcn.00401000
lea ecx, [esp + 0x20]
push ecx
push eax
mov ecx, str._Config_UI_Strings
mov byte [esp + 0x148], 0xb
call fcn.0041c8b0
mov eax, dword [eax]
mov esi, dword [esp + 0x24]
cmp esi, eax
je 0x40dd92
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x40dd86
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, ebx
je 0x40dd92
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40dda2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x140], 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40ddba
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x24], ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x40e0dd
mov edi, 7
xor eax, eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], ax
xor ecx, ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], cx
lea edx, [esp + 0x24]
push edx
mov ecx, 0x44acac
lea esi, [esp + 0x2c]
mov byte [esp + 0x144], 0xd
call fcn.0041c990
mov byte [esp + 0x140], 0xe
mov esi, dword [esp + 0x2c]
push esi
push str.__Map_count:__d
push 0x455a48
mov ecx, 0x448218
call fcn.00407c30
add esp, 0xc
mov dword [esp + 0x18], ebx
cmp esi, ebx
jle 0x40e081
mov eax, dword [esp + 0x18]
push eax
lea ebx, [esp + 0x20]
lea eax, [esp + 0x2c]
call fcn.0041cb40
push 0x44acd4
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0x24]
mov byte [esp + 0x148], 0xf
xor ebx, ebx
push edx
mov dword [esp + 0x20], ebx
call fcn.0041c390
cmp dword [esp + 0x90], ebx
je 0x40dea1
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x40de94
lea eax, [esp + 0x80]
push eax
call fcn.0042f82d
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esp + 0x94], 8
jb 0x40debb
mov eax, dword [esp + 0x80]
push eax
call fcn.0042e4d8
add esp, 4
push str.Template
lea edx, [esp + 0x118]
push edx
lea eax, [esp + 0x24]
xor ecx, ecx
mov edi, 7
push eax
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ebx
mov word [esp + 0x8c], cx
call fcn.0041c390
mov esi, eax
lea ecx, [esp + 0x48]
cmp ecx, esi
je 0x40df65
cmp dword [esp + 0x5c], 8
jb 0x40df0d
mov edx, dword [esp + 0x48]
push edx
call fcn.0042e4d8
add esp, 4
xor eax, eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov word [esp + 0x48], ax
cmp dword [esi + 0x14], 8
jae 0x40df44
mov eax, dword [esi + 0x10]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esp + 0x4c]
push esi
push edx
call fcn.0042e9b0
add esp, 0xc
jmp 0x40df4c
push str.vector_T__too_long
call fcn.0042d68e
mov eax, dword [esi]
mov dword [esp + 0x48], eax
mov dword [esi], ebx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x5c], edx
xor eax, eax
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov word [esi], ax
mov byte [esp + 0x140], 0xf
cmp dword [esp + 0x128], 8
jb 0x40df87
mov ecx, dword [esp + 0x114]
push ecx
call fcn.0042e4d8
add esp, 4
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x40df96
lea eax, [esp + 0x48]
lea edx, [esp + 0x64]
push edx
push eax
mov ecx, 0x456d68
call fcn.00413f90
cmp dword [esp + 0x78], 8
jb 0x40dfb7
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
jmp 0x40dfbf
lea ecx, [esp + 0x64]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x40]
push ecx
mov eax, 0x4575a4
mov dword [esp + 0x18], edx
call fcn.00414c10
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea edi, [esp + 0x4c]
mov esi, 0x4575a4
call fcn.00414570
lea edx, [esp + 0x10]
mov ebx, esi
call fcn.004142a0
mov esi, eax
mov eax, dword [esp + 0x20]
mov ecx, eax
lea edi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x40e010
sub ecx, edi
sar ecx, 1
push ecx
call fcn.00403f50
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x40e034
lea eax, [esp + 0x48]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.__Added:_ID__d_to__s
push 0x455a48
mov ecx, 0x448218
call fcn.00407c30
mov byte [esp + 0x150], 0xe
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
je 0x40e069
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x2c]
jl 0x40de3c
xor ebx, ebx
lea edi, [ebx + 7]
mov byte [esp + 0x140], 0xd
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x40e099
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, 8
cmp dword [esp + 0x78], esi
jb 0x40e0b1
mov eax, dword [esp + 0x64]
push eax
call fcn.0042e4d8
add esp, 4
xor ecx, ecx
mov byte [esp + 0x140], 4
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], cx
cmp dword [esp + 0x5c], esi
jb 0x40e0f4
mov edx, dword [esp + 0x48]
push edx
call fcn.0042e4d8
add esp, 4
jmp 0x40e0f4
push str.__No_string_map_present
push 0x455a48
mov ecx, 0x448218
call fcn.00407c30
add esp, 8
lea eax, [esp + 0x9c]
call fcn.00404180
mov byte [esp + 0x140], 3
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x40e118
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x140], bl
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x40e12f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xe0]
cmp eax, ebx
je 0x40e143
push eax
call fcn.0042e4d8
add esp, 4
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
cmp eax, ebx
je 0x40e16c
push eax
call fcn.0042e4d8
add esp, 4
mov ecx, dword [esp + 0x138]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x120]
xor ecx, esp
call fcn.0042e4c9
mov esp, ebp
pop ebp
ret