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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4429a8
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4563d4]
xor eax, esp
mov dword [esp + 0x120], eax
push ebx
push esi
push edi
mov eax, dword [0x4563d4]
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], 0x44c050
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 0x4579e4
mov ecx, 0x44842c
mov dword [esp + 0x148], ebx
call fcn.00404b90
add edi, 0x24
add esp, 8
lea esi, [esp + 0x38]
mov eax, edi
mov dword [esp + 0x20], edi
call fcn.004077c0
lea ecx, [esp + 0x24]
push ecx
push eax
mov ecx, str._Config_UI_Storyboards_Storyboard
mov byte [esp + 0x148], 1
call fcn.0041f920
mov byte [esp + 0x140], 3
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x40d2ad
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.0041fa00
mov byte [esp + 0x140], 4
mov esi, dword [esp + 0x34]
push esi
push str.__Page_count:__d
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
add esp, 0xc
mov dword [esp + 0x14], ebx
cmp esi, ebx
jle 0x40d572
mov edx, dword [esp + 0x14]
push edx
lea ebx, [esp + 0x20]
lea eax, [esp + 0x34]
call fcn.0041fbb0
push 0xb0
mov byte [esp + 0x144], 5
call fcn.0042d34e
mov ebx, eax
add esp, 4
mov dword [esp + 0x18], ebx
mov byte [esp + 0x140], 6
test ebx, ebx
je 0x40d38e
push str.Condition
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x24]
push ecx
call fcn.0041f400
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.0041f400
mov ecx, 8
mov dword [esp + 0x140], ecx
or dword [esp + 0x10], 2
cmp dword [esi + 0x14], ecx
jb 0x40d37b
mov esi, dword [esi]
cmp dword [eax + 0x14], ecx
jb 0x40d382
mov eax, dword [eax]
push esi
push eax
push ebx
call fcn.00407810
mov edi, eax
jmp 0x40d390
xor edi, edi
mov ebx, dword [esp + 0x10]
test bl, 2
je 0x40d3da
and ebx, 0xfffffffd
cmp dword [esp + 0x94], 8
mov dword [esp + 0x10], ebx
jb 0x40d3ba
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0042d224
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 0x40d41c
and ebx, 0xfffffffe
cmp dword [esp + 0x78], 8
mov dword [esp + 0x10], ebx
jb 0x40d405
mov eax, dword [esp + 0x64]
push eax
call fcn.0042d224
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 0x40d4af
lea eax, [esp + 0x18]
cmp edx, eax
ja 0x40d4af
mov esi, dword [esp + 0xe8]
mov ebx, eax
sub ebx, edx
sar ebx, 2
cmp ecx, esi
jne 0x40d4a4
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40d77a
sub esi, edx
inc eax
sar esi, 2
cmp eax, esi
jbe 0x40d4a4
mov ecx, esi
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40d481
xor ecx, ecx
jmp 0x40d483
add ecx, edx
cmp ecx, eax
jae 0x40d489
mov ecx, eax
push ecx
lea esi, [esp + 0xe4]
call fcn.00427210
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
test ecx, ecx
je 0x40d514
mov edx, dword [edx + ebx*4]
mov dword [ecx], edx
jmp 0x40d50d
mov esi, dword [esp + 0xe8]
cmp ecx, esi
jne 0x40d507
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40d77a
sub esi, edx
mov edx, esi
inc eax
sar edx, 2
cmp eax, edx
jbe 0x40d507
mov ecx, edx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40d4eb
xor ecx, ecx
jmp 0x40d4ed
add ecx, edx
cmp ecx, eax
jae 0x40d4f3
mov ecx, eax
push ecx
lea esi, [esp + 0xe4]
call fcn.00427210
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x40d514
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 0x40d529
mov eax, dword [eax]
push eax
push str.__Added:__s
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
mov byte [esp + 0x14c], 4
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x40d559
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 0x40d2f0
mov edi, dword [esp + 0x20]
xor ebx, ebx
push str.Reading_string_map
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
add esp, 8
lea esi, [esp + 0x14]
mov eax, edi
call fcn.004077c0
lea ecx, [esp + 0x20]
push ecx
push eax
mov ecx, str._Config_UI_Strings
mov byte [esp + 0x148], 0xb
call fcn.0041f920
mov eax, dword [eax]
mov esi, dword [esp + 0x24]
cmp esi, eax
je 0x40d5d2
mov dword [esp + 0x24], eax
cmp eax, ebx
je 0x40d5c6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, ebx
je 0x40d5d2
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40d5e2
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 0x40d5fa
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 0x40d91d
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, 0x44bed8
lea esi, [esp + 0x2c]
mov byte [esp + 0x144], 0xd
call fcn.0041fa00
mov byte [esp + 0x140], 0xe
mov esi, dword [esp + 0x2c]
push esi
push str.__Map_count:__d
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
add esp, 0xc
mov dword [esp + 0x18], ebx
cmp esi, ebx
jle 0x40d8c1
mov eax, dword [esp + 0x18]
push eax
lea ebx, [esp + 0x20]
lea eax, [esp + 0x2c]
call fcn.0041fbb0
push 0x44bf00
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.0041f400
cmp dword [esp + 0x90], ebx
je 0x40d6e1
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x40d6d4
lea eax, [esp + 0x80]
push eax
call fcn.0042e8c6
add esp, 4
mov dword [esp + 0x14], eax
cmp dword [esp + 0x94], 8
jb 0x40d6fb
mov eax, dword [esp + 0x80]
push eax
call fcn.0042d224
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.0041f400
mov esi, eax
lea ecx, [esp + 0x48]
cmp ecx, esi
je 0x40d7a5
cmp dword [esp + 0x5c], 8
jb 0x40d74d
mov edx, dword [esp + 0x48]
push edx
call fcn.0042d224
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 0x40d784
mov eax, dword [esi + 0x10]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esp + 0x4c]
push esi
push edx
call fcn.0042d550
add esp, 0xc
jmp 0x40d78c
push str.vector_T__too_long
call fcn.0042c621
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 0x40d7c7
mov ecx, dword [esp + 0x114]
push ecx
call fcn.0042d224
add esp, 4
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x40d7d6
lea eax, [esp + 0x48]
lea edx, [esp + 0x64]
push edx
push eax
mov ecx, 0x458d28
call fcn.00418dd0
cmp dword [esp + 0x78], 8
jb 0x40d7f7
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
jmp 0x40d7ff
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, 0x459564
mov dword [esp + 0x18], edx
call fcn.00419900
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push edx
push eax
lea edi, [esp + 0x4c]
mov esi, 0x459564
call fcn.00419260
lea edx, [esp + 0x10]
mov ebx, esi
call fcn.00419020
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 0x40d850
sub ecx, edi
sar ecx, 1
push ecx
call fcn.004047c0
cmp dword [esp + 0x5c], 8
mov eax, dword [esp + 0x48]
jae 0x40d874
lea eax, [esp + 0x48]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.__Added:_ID__d_to__s
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
mov byte [esp + 0x150], 0xe
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
je 0x40d8a9
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 0x40d67c
xor ebx, ebx
lea edi, [ebx + 7]
mov byte [esp + 0x140], 0xd
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x40d8d9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, 8
cmp dword [esp + 0x78], esi
jb 0x40d8f1
mov eax, dword [esp + 0x64]
push eax
call fcn.0042d224
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 0x40d934
mov edx, dword [esp + 0x48]
push edx
call fcn.0042d224
add esp, 4
jmp 0x40d934
push str.__No_string_map_present
push 0x4579e4
mov ecx, 0x44842c
call fcn.00404b90
add esp, 8
lea eax, [esp + 0x9c]
call fcn.00404e30
mov byte [esp + 0x140], 3
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x40d958
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 0x40d96f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xe0]
cmp eax, ebx
je 0x40d983
push eax
call fcn.0042d224
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 0x40d9ac
push eax
call fcn.0042d224
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.0042d215
mov esp, ebp
pop ebp
ret