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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x443928
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4563e4]
xor eax, esp
mov dword [esp + 0x120], eax
push ebx
push esi
push edi
mov eax, dword [0x4563e4]
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], 0x44bd68
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 0x457ab8
mov ecx, 0x449300
mov dword [esp + 0x148], ebx
call fcn.00418500
add edi, 0x24
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.0041d0d0
mov byte [esp + 0x140], 3
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x40d93d
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.0041d1b0
mov byte [esp + 0x140], 4
mov esi, dword [esp + 0x34]
push esi
push str.__Page_count:__d
push 0x457ab8
mov ecx, 0x449300
call fcn.00418500
add esp, 0xc
mov dword [esp + 0x14], ebx
cmp esi, ebx
jle 0x40dc02
mov edx, dword [esp + 0x14]
push edx
lea ebx, [esp + 0x20]
lea eax, [esp + 0x34]
call fcn.0041d360
push 0xb0
mov byte [esp + 0x144], 5
call fcn.0042ee63
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
mov byte [esp + 0x140], 6
test ebx, ebx
je 0x40da1e
push str.Condition
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.0041cbb0
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.0041cbb0
mov ecx, 8
mov dword [esp + 0x140], ecx
or dword [esp + 0x10], 2
cmp dword [esi + 0x14], ecx
jb 0x40da0b
mov esi, dword [esi]
cmp dword [eax + 0x14], ecx
jb 0x40da12
mov eax, dword [eax]
push esi
push eax
push ebx
call fcn.004080c0
mov edi, eax
jmp 0x40da20
xor edi, edi
mov ebx, dword [esp + 0x10]
test bl, 2
je 0x40da6a
and ebx, 0xfffffffd
cmp dword [esp + 0x94], 8
mov dword [esp + 0x10], ebx
jb 0x40da4a
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0042ee58
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 0x40daac
and ebx, 0xfffffffe
cmp dword [esp + 0x78], 8
mov dword [esp + 0x10], ebx
jb 0x40da95
mov eax, dword [esp + 0x64]
push eax
call fcn.0042ee58
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 0x40db3f
lea eax, [esp + 0x18]
cmp edx, eax
ja 0x40db3f
mov esi, dword [esp + 0xe8]
mov ebx, eax
sub ebx, edx
sar ebx, 2
cmp ecx, esi
jne 0x40db34
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40de0a
sub esi, edx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x40db34
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40db11
xor ecx, ecx
jmp 0x40db13
add ecx, edx
cmp ecx, eax
jae 0x40db19
mov ecx, eax
push ecx
lea esi, [esp + 0xe4]
call fcn.00407110
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
test ecx, ecx
je 0x40dba4
mov edx, dword [edx + ebx*4]
mov dword [ecx], edx
jmp 0x40db9d
mov esi, dword [esp + 0xe8]
cmp ecx, esi
jne 0x40db97
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40de0a
sub esi, edx
mov edx, esi
inc eax
sar edx, 2
cmp eax, edx
jbe 0x40db97
mov ecx, edx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40db7b
xor ecx, ecx
jmp 0x40db7d
add ecx, edx
cmp ecx, eax
jae 0x40db83
mov ecx, eax
push ecx
lea esi, [esp + 0xe4]
call fcn.00407110
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x40dba4
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 0x40dbb9
mov eax, dword [eax]
push eax
push str.__Added:__s
push 0x457ab8
mov ecx, 0x449300
call fcn.00418500
mov byte [esp + 0x14c], 4
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x40dbe9
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 0x40d980
mov edi, dword [esp + 0x20]
xor ebx, ebx
push str.Reading_string_map
push 0x457ab8
mov ecx, 0x449300
call fcn.00418500
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.0041d0d0
mov eax, dword [eax]
mov esi, dword [esp + 0x24]
cmp esi, eax
je 0x40dc62
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x40dc56
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, ebx
je 0x40dc62
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40dc72
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 0x40dc8a
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 0x40dfad
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, 0x44bbf0
lea esi, [esp + 0x2c]
mov byte [esp + 0x144], 0xd
call fcn.0041d1b0
mov byte [esp + 0x140], 0xe
mov esi, dword [esp + 0x2c]
push esi
push str.__Map_count:__d
push 0x457ab8
mov ecx, 0x449300
call fcn.00418500
add esp, 0xc
mov dword [esp + 0x18], ebx
cmp esi, ebx
jle 0x40df51
mov eax, dword [esp + 0x18]
push eax
lea ebx, [esp + 0x20]
lea eax, [esp + 0x2c]
call fcn.0041d360
push 0x44bc18
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.0041cbb0
cmp dword [esp + 0x90], ebx
je 0x40dd71
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x40dd64
lea eax, [esp + 0x80]
push eax
call fcn.0042ffad
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esp + 0x94], 8
jb 0x40dd8b
mov eax, dword [esp + 0x80]
push eax
call fcn.0042ee58
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.0041cbb0
mov esi, eax
lea ecx, [esp + 0x48]
cmp ecx, esi
je 0x40de35
cmp dword [esp + 0x5c], 8
jb 0x40dddd
mov edx, dword [esp + 0x48]
push edx
call fcn.0042ee58
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 0x40de14
mov eax, dword [esi + 0x10]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esp + 0x4c]
push esi
push edx
call fcn.0042f330
add esp, 0xc
jmp 0x40de1c
push str.vector_T__too_long
call fcn.0042e00e
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 0x40de57
mov ecx, dword [esp + 0x114]
push ecx
call fcn.0042ee58
add esp, 4
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x40de66
lea eax, [esp + 0x48]
lea edx, [esp + 0x64]
push edx
push eax
mov ecx, 0x458de8
call fcn.00413e60
cmp dword [esp + 0x78], 8
jb 0x40de87
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
jmp 0x40de8f
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, 0x459624
mov dword [esp + 0x18], edx
call fcn.00414b90
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea edi, [esp + 0x4c]
mov esi, 0x459624
call fcn.004144f0
lea edx, [esp + 0x10]
mov ebx, esi
call fcn.00414210
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 0x40dee0
sub ecx, edi
sar ecx, 1
push ecx
call fcn.00403fb0
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x40df04
lea eax, [esp + 0x48]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.__Added:_ID__d_to__s
push 0x457ab8
mov ecx, 0x449300
call fcn.00418500
mov byte [esp + 0x150], 0xe
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
je 0x40df39
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 0x40dd0c
xor ebx, ebx
lea edi, [ebx + 7]
mov byte [esp + 0x140], 0xd
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x40df69
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, 8
cmp dword [esp + 0x78], esi
jb 0x40df81
mov eax, dword [esp + 0x64]
push eax
call fcn.0042ee58
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 0x40dfc4
mov edx, dword [esp + 0x48]
push edx
call fcn.0042ee58
add esp, 4
jmp 0x40dfc4
push str.__No_string_map_present
push 0x457ab8
mov ecx, 0x449300
call fcn.00418500
add esp, 8
lea eax, [esp + 0x9c]
call fcn.004041e0
mov byte [esp + 0x140], 3
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x40dfe8
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 0x40dfff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xe0]
cmp eax, ebx
je 0x40e013
push eax
call fcn.0042ee58
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 0x40e03c
push eax
call fcn.0042ee58
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.0042ee49
mov esp, ebp
pop ebp
ret