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

Disassembly:
sub esp, 0x13c
mov eax, dword [0x692770]
push ebx
mov ebx, dword [esp + 0x14c]
push ebp
mov ebp, dword [esp + 0x14c]
xor ecx, ecx
push esi
mov esi, dword [ebx + 0x20]
inc eax
cmp eax, 0x64
push edi
mov edi, dword [esp + 0x150]
mov dword [esp + 0x14], esi
mov dword [esp + 0x44], ecx
mov dword [0x692770], eax
jl 0x451e52
mov dword [0x692770], ecx
cmp dword [ebp + 0x18], ecx
jne 0x451ee7
test byte [edi + 0x4e], 1
jne 0x451e6c
test byte [ebx + 0x4c], 4
mov ecx, 2
jne 0x451e71
mov ecx, 3
push ecx
mov dword [ebp + 0x18], ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + 0x2c]
push ecx
push eax
call dword [eax + 0x10]
mov edx, dword [ebp + 0x18]
xor eax, eax
cmp edx, 2
sete al
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0xb4]
push edx
dec eax
and eax, 2
lea ecx, [esp + 0x78]
push ecx
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + 0x2c]
lea edx, [esp + 0x9c]
push edx
push ecx
push eax
call dword [eax + 0x14]
add esp, 0x28
test eax, eax
je 0x451ee1
mov edx, dword [esp + 0x60]
push edx
mov eax, ebx
mov esi, ebp
call fcn.0044fb50
mov esi, dword [esp + 0x18]
add esp, 4
mov eax, dword [esi + 0x34]
mov dword [ebp + 0x20], eax
test byte [edi + 0x4e], 1
je 0x451fb3
test byte [ebx + 0x4c], 8
je 0x451fb3
mov eax, dword [esi + 0x18]
test eax, eax
je 0x451f0a
mov cl, byte [ebp + 0x4f]
mov byte [ebp + 0x4d], cl
jmp 0x451f12
mov dx, word [esi + 0x10]
mov word [ebp + 0x30], dx
movzx esi, byte [ebp + 0x4d]
movzx ebx, word [ebp + 0x30]
mov eax, 4
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
mov eax, dword [0x6bf47c]
test ah, 4
mov edi, dword [edi + 0x40]
je 0x451fa3
mov eax, dword [0x692740]
test eax, eax
je 0x451fa3
call dword [eax + 4]
push 0x400
call fcn.0044c890
mov eax, dword [0x692770]
mov ecx, dword [str.BandDone]
mov edx, dword [str.Rendered]
push 1
push eax
mov eax, dword [str.ImageEasyBand]
push str.TryRenderBands
push ecx
push edx
push 0x66ac4a
push eax
push 0x66ac4a
push esi
push ebx
push edi
lea ecx, [esp + 0xdc]
push str.Page_d__b_d__p_d___s_s_s___s___s__s_cnt_2d._d_n
push ecx
call fcn.0046a5f0
mov eax, dword [0x692740]
lea edx, [esp + 0xe4]
push edx
call dword [eax]
mov ecx, dword [0x692740]
add esp, 0x3c
call dword [ecx + 8]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x13c
ret
mov ecx, dword [0x6927c4]
mov esi, dword [esp + 0x14]
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], edi
je 0x451fdc
mov eax, dword [ebp + 0x44]
cmp eax, 4
je 0x451fe2
cmp eax, 1
je 0x451fe2
cmp dword [esp + 0x44], edi
je 0x452007
cmp ecx, edi
jne 0x451ff5
push edi
call fcn.0044b1f0
mov ecx, dword [0x6927c4]
add esp, 4
mov ax, word [ecx]
movzx dx, byte [ecx + 6]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], edi
jmp 0x452014
movzx dx, byte [ebp + 0x4c]
mov ax, word [ebp + 0x2e]
add dx, word [ebp + 0x40]
cmp dword [esi + 0x5c], edi
mov dword [esp + 0x28], edx
je 0x45202f
cmp byte [esi + 0x12], 1
jne 0x452027
xor ebx, ebx
jmp 0x452031
movzx bx, byte [ebp + 0x51]
dec ebx
jmp 0x452031
mov ebx, edx
cmp dword [esi + 0x3c], edi
je 0x452056
mov ecx, dword [esp + 0x150]
test byte [ecx + 0x4d], 0x80
jne 0x452056
movzx ecx, ax
xor eax, eax
mov ax, word [esi + 0x10]
sub ax, cx
mov dword [esp + 0x2c], ecx
dec eax
jmp 0x45205d
movzx eax, ax
mov dword [esp + 0x2c], eax
movzx esi, word [esi + 0x10]
movzx ecx, bx
imul esi, ecx
movzx eax, ax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x1c], eax
add eax, esi
mov esi, dword [ecx + 0x2c]
mov si, word [esi + eax*2]
mov ecx, dword [ecx + 0x30]
mov word [esp + 0x20], si
lea esi, [eax + eax*2]
lea ecx, [ecx + esi*8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x150]
mov esi, dword [ecx + 0x24]
mov eax, dword [esi + eax*4]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x4520ef
mov eax, dword [ecx + 0x4c]
test ah, 0x10
je 0x4520b8
xor eax, eax
jmp 0x4520d5
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x4520d2
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
jmp 0x4520d5
or eax, 0xffffffff
mov edx, dword [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2c]
push edx
push eax
mov esi, ebp
call fcn.0044d9b0
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [ebp + 0x44]
cmp eax, 1
jne 0x452102
mov edi, eax
mov dword [esp + 0x10], edi
jmp 0x453398
mov esi, dword [esp + 0x20]
movzx ecx, si
cmp ecx, 0xb
ja case.default.0x452112
jmp dword [ecx*4 + 0x4536ec]
test eax, eax
jne 0x452177
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + 0x4c]
test ah, 0x20
jne 0x452155
mov dx, word [ebp + 0x34]
cmp dx, word [ebp + 0x36]
jb 0x452155
xor eax, eax
mov ax, word [ebp + 0x38]
cmp ax, word [ebp + 0x3a]
jae 0x452155
inc eax
mov edi, 3
mov word [ebp + 0x38], ax
mov dword [esp + 0x10], edi
jmp 0x453012
mov eax, dword [esp + 0x14]
movzx edx, word [eax + 0x10]
imul edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
xor esi, esi
add edx, eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x20], esi
mov word [eax + edx*2], si
jmp case.0x452112.0
cmp eax, 2
je case.0x452112.0
push 0
call fcn.0044b1f0
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x452198
push 0
call fcn.0044b1f0
add esp, 4
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x452306
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 0x4c]
test ch, 0x10
je 0x4521b6
xor esi, esi
jmp 0x4521d3
mov eax, dword [eax + 0x38]
test eax, eax
je 0x4521d0
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov edx, dword [edx + eax*4]
mov eax, dword [esp + 0x1c]
mov esi, dword [edx + eax*4]
jmp 0x4521d3
or esi, 0xffffffff
test ch, 0x20
jne 0x452212
mov ax, word [ebp + 0x34]
mov cx, word [ebp + 0x36]
cmp ax, cx
jb 0x452250
mov dx, word [ebp + 0x38]
cmp dx, word [ebp + 0x3a]
jae 0x4521f3
test esi, esi
jne 0x452250
test esi, esi
jl 0x452212
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x28], 3
jne 0x452212
mov edi, dword [edx + 0x34]
test edi, edi
jbe 0x452212
mov edi, dword [ebp + 0x24]
add edi, esi
cmp edi, dword [ebp + 0x20]
jl 0x452254
mov eax, dword [esp + 0x158]
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx + 0x7c]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x452340
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0x7c]
push eax
call dword [ecx + 0x20]
add esp, 4
test eax, eax
je 0x452340
mov esi, 1
jmp 0x45251e
mov edx, dword [esp + 0x14]
cmp ax, cx
jae 0x452290
inc eax
cmp ax, cx
mov word [ebp + 0x34], ax
jne 0x452269
mov eax, dword [edx + 0x34]
mov dword [ebp + 0x24], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
test al, al
jns 0x452277
test al, 4
jne 0x452212
mov edx, dword [edx + 0x34]
mov eax, dword [ebp + 0x20]
add eax, edx
mov edi, 3
mov dword [ebp + 0x20], eax
mov dword [esp + 0x10], edi
jmp 0x453012
test esi, esi
jl 0x4522cb
cmp dword [edx + 0x28], 3
jne 0x4522cb
mov eax, dword [edx + 0x34]
test eax, eax
jbe 0x4522cb
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
add ecx, esi
cmp ecx, edx
jge 0x4522cb
push eax
push esi
call fcn.00486010
mov edx, dword [ebp + 0x24]
add esp, 8
add edx, eax
mov dword [ebp + 0x24], edx
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x34]
jmp 0x452dcc
mov cx, word [ebp + 0x38]
cmp cx, word [ebp + 0x3a]
jb 0x4522df
push 0
call fcn.0044b1f0
add esp, 4
test esi, esi
jne 0x4522ec
push esi
call fcn.0044b1f0
add esp, 4
inc word [ebp + 0x38]
mov edi, 3
mov dword [esp + 0x20], 8
mov dword [esp + 0x10], edi
jmp 0x453012
cmp eax, 2
jne 0x452212
cmp si, 8
je 0x452212
mov dx, word [ebp + 0x34]
cmp dx, word [ebp + 0x36]
jb 0x452212
cmp word [ebp + 0x40], 0
jne 0x452212
mov edi, 3
mov dword [esp + 0x10], edi
jmp 0x453012
mov edx, dword [esp + 0x150]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x452360
mov eax, dword [esp + 0x158]
mov cl, byte [eax + 0x4c]
test cl, cl
js 0x45241a
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x7c]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x45238b
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x45241a
mov edx, dword [esp + 0x14]
push edx
call eax
add esp, 4
test eax, eax
jne 0x45241a
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x4523b1
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
call fcn.0044c6c0
test eax, eax
je 0x4523d0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1c]
test eax, eax
je 0x45241a
mov edx, dword [esp + 0x150]
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x18]
cmp byte [ecx + eax], 0
jne 0x45241a
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x4c]
test eax, eax
mov esi, 1
je 0x45251e
mov edi, dword [esp + 0x150]
mov eax, dword [edi + 0x4c]
mov ecx, dword [esp + 0x18]
shr eax, 4
and eax, 0xff
inc ecx
cmp eax, ecx
jne 0x452525
mov edx, dword [esp + 0x158]
test byte [edx + 0x4c], 0x10
je 0x45241a
test byte [ebp + 0x58], 4
je 0x452525
mov esi, dword [ebp + 0x44]
cmp esi, 2
mov dword [esp + 0x10], 0
jne 0x45243f
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
test al, al
jns 0x45243f
test al, 4
je 0x45243f
mov ecx, 1
jmp 0x452441
xor ecx, ecx
mov edx, dword [esp + 0x150]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x45245f
mov eax, dword [eax + 8]
test eax, eax
je 0x45245f
mov edx, dword [esp + 0x1c]
mov edx, dword [eax + edx*4]
jmp 0x452461
xor edx, edx
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x28], 3
jne 0x45247a
test esi, esi
je 0x452473
test ecx, ecx
je 0x45247a
mov ecx, 1
jmp 0x45247c
xor ecx, ecx
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x2c]
push edx
mov edx, dword [esp + 0x154]
push ecx
mov ecx, dword [esp + 0x24]
inc bl
push ebx
push ecx
mov ecx, dword [edx + 0x10]
push ecx
push eax
call dword [eax + 8]
add esp, 0x18
test eax, eax
mov dword [esp + 0x24], eax
je case.0x452112.6
cmp dword [ebp + 0x44], 2
jne 0x4524e7
cmp word [esp + 0x20], 8
jne 0x4524d6
mov dx, word [ebp + 0x38]
cmp dx, word [ebp + 0x3a]
jb 0x4524d0
push 0
call fcn.0044b1f0
add esp, 4
inc word [ebp + 0x38]
jmp 0x4524e7
xor eax, eax
mov ax, word [ebp + 0x34]
cmp ax, word [ebp + 0x36]
jae 0x4524e7
inc eax
mov word [ebp + 0x34], ax
mov eax, dword [ebp + 8]
test eax, eax
mov eax, 0x66ac4a
jne 0x4524f8
mov eax, str.render_ahead
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x150]
push eax
push str.New_Band
push str.TryRenderBands
call fcn.0044d6d0
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [esp + 0x150]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x7c]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x452572
test esi, esi
jne 0x452542
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x4525f5
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [edi + 4]
push ebx
push edx
push 0
call fcn.0044ee20
mov ecx, dword [edi + 4]
mov edx, dword [ecx + 0x20]
movzx ecx, word [edx + 0x10]
mov edx, dword [esp + 0x28]
imul ecx, ebx
add esp, 0xc
add ecx, edx
mov edx, dword [edi + 0x28]
mov dword [edx + ecx*4], eax
test esi, esi
je 0x4525f5
mov dword [esp + 0x20], 2
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x150]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x452a43
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x452a43
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x452a2e
movzx ecx, dx
mov edx, dword [esp + 0x2c]
push ecx
push edx
call fcn.0044c7b0
add esp, 8
test eax, eax
mov dword [esp + 0x40], eax
je case.0x452112.6
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x452a1c
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
push eax
push 0x451da0
call dword [edx + 0x10]
mov edi, 3
add esp, 8
mov dword [esp + 0x10], edi
jmp 0x453012
xor eax, eax
cmp word [esp + 0x20], 8
sete al
lea eax, [eax*8 + 1]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x45263b
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x45263b
push 0
call eax
add esp, 4
test eax, eax
jne 0x45263b
mov edi, 1
mov dword [esp + 0x10], edi
jmp 0x453012
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
test al, al
jns 0x452798
mov esi, eax
shr esi, 2
mov edi, 1
and esi, edi
test al, 2
mov dword [esp + 0x34], esi
je 0x452667
mov dword [esp + 0x10], 0
jmp 0x45267e
test esi, esi
je 0x45267a
and eax, 8
or eax, 0x10
shr eax, 3
mov dword [esp + 0x10], eax
jmp 0x45267e
mov dword [esp + 0x10], edi
test esi, esi
je 0x4526ba
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x452693
push 0
call fcn.0044b1f0
add esp, 4
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + 0x2c]
lea edx, [esp + 0x3c]
push edx
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x2c]
add edx, 4
push edx
push ecx
push eax
call dword [eax + 0x20]
jmp 0x4526d5
mov edx, dword [esp + 0x158]
mov eax, dword [edx + 0x2c]
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push ecx
push 0
push edi
push edx
push eax
call dword [eax + 0x1c]
add esp, 0x14
test eax, eax
jne 0x4526e5
mov dword [esp + 0x10], edi
jmp 0x453012
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
test esi, esi
mov esi, dword [esp + 0x150]
push 0x66ac4a
je 0x452704
push str.Acquire_Band_Buffer_Stored
jmp 0x452709
push str.Acquire_Storage_Stored
push str.TryRenderBands
call fcn.0044d6d0
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
add esp, 0xc
push eax
mov eax, dword [esp + 0x154]
call fcn.0044df10
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x452576
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2c]
push 0
push 0
push 0
push 0
push 1
push edx
push eax
call dword [eax + 0x28]
mov esi, dword [esp + 0x16c]
push 0x66ac4a
push str.Release_Storage_Stored
mov edi, ebx
mov ebx, dword [esp + 0x40]
push str.TryRenderBands
call fcn.0044d6d0
mov dword [esp + 0x38], 3
mov edi, dword [esp + 0x38]
add esp, 0x28
mov dword [esp + 0x20], 4
jmp 0x453012
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x2c]
lea ecx, [esp + 0x3c]
push ecx
push 0
push 1
push edx
push eax
call dword [eax + 0x1c]
add esp, 0x14
test eax, eax
je case.0x452112.6
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x150]
push 0x66ac4a
push str.Acquire_Storage
push str.TryRenderBands
call fcn.0044d6d0
add esp, 0xc
call sub.MSVCR71.dll_clock
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x7c]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
mov edi, ebx
je 0x452830
mov esi, eax
mov ebx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
div ebx
movzx eax, word [esi + 0x10]
dec eax
cmp edi, eax
jl 0x452818
test edx, edx
mov eax, edx
jne 0x45281a
mov eax, ebx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x1c]
push edx
mov edx, dword [ebp + 8]
inc eax
push eax
push edi
push edx
call ecx
add esp, 0x14
mov esi, dword [esp + 0x150]
mov eax, dword [esi + 0xc]
test eax, eax
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x158]
je 0x45288c
mov al, byte [ecx + 0x4c]
test al, al
jns 0x45288c
movzx eax, word [ebp + 0x40]
mov ecx, dword [ecx + 0x34]
mov edx, dword [esp + 0x3c]
mov dword [ecx + eax*4], edx
inc word [ebp + 0x40]
mov ecx, dword [esp + 0x14]
movzx dx, byte [ecx + 0x12]
mov ax, word [ebp + 0x40]
cmp ax, dx
jae 0x452885
mov dword [esp + 0x10], 2
mov edi, dword [esp + 0x10]
jmp 0x453012
mov ecx, dword [esp + 0x158]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x45291e
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x4c]
test edx, edx
je 0x4528c8
mov edx, dword [esi + 0x4c]
shr edx, 4
and edx, 0xff
lea eax, [ebx + 1]
cmp edx, eax
jne 0x4528c8
test byte [ecx + 0x4c], 0x10
je 0x4528c1
test byte [ebp + 0x58], 4
je 0x4528c8
mov edx, 1
jmp 0x4528ca
xor edx, edx
mov eax, dword [ecx + 0x4c]
shr eax, 7
and eax, 1
je 0x4528d9
xor ebx, ebx
jmp 0x4528da
inc ebx
test eax, eax
je 0x4528e3
mov ecx, dword [ecx + 0x34]
jmp 0x4528e7
lea ecx, [esp + 0x3c]
mov eax, dword [esp + 0x30]
and dword [eax], 0xffffffbf
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x7c]
cmp dword [eax + 0x18], 0
je 0x452900
mov eax, dword [esi + 0x28]
jmp 0x452902
xor eax, eax
push esi
push eax
mov eax, dword [esi + 0xc]
push edx
push ecx
push ebx
mov ebx, dword [esp + 0x16c]
push edi
call fcn.0044f520
mov ebx, dword [esp + 0x30]
add esp, 0x18
call sub.MSVCR71.dll_clock
mov edx, dword [esp + 0x34]
mov ecx, dword [0x6927c8]
sub eax, edx
mov edx, dword [esp + 0x30]
push ebx
add eax, ecx
push edi
push eax
push str.Render_Time
mov dword [edx + 0xc], eax
call fcn.0044d550
mov eax, dword [esi + 0x38]
add esp, 0x10
test eax, eax
je 0x452980
mov eax, dword [eax + 8]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx + edi*4]
test eax, eax
jl 0x452980
push ebx
push edi
push eax
push str.Estimated_Time
call fcn.0044d550
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x34]
push ebx
push edi
push eax
push str.Transfer_Time
call fcn.0044d550
add esp, 0x20
mov eax, dword [0x6bf478]
test eax, eax
je 0x45299b
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0xc]
push 0
push edx
push edi
push ebx
call dword [eax + 4]
add esp, 0x10
xor eax, eax
cmp word [esp + 0x20], 9
sete al
lea eax, [eax*8 + 2]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x45257e
mov ecx, dword [esp + 0x158]
mov al, byte [ecx + 0x4c]
test al, al
jns 0x45257e
mov edx, dword [esp + 0x14]
xor eax, eax
mov word [ebp + 0x40], ax
cmp byte [edx + 0x12], al
jbe 0x452a0b
lea ecx, [ecx]
movzx ecx, word [edx + 0x10]
mov ebx, dword [esi + 0x2c]
imul ecx, eax
add ecx, edi
lea ecx, [ebx + ecx*2]
xor ebx, ebx
cmp word [ecx], 9
sete bl
inc eax
lea ebx, [ebx*8 + 2]
mov word [ecx], bx
movzx ecx, byte [edx + 0x12]
cmp eax, ecx
jl 0x4529e0
mov dword [esp + 0x10], 2
mov edi, dword [esp + 0x10]
jmp 0x453012
mov edi, 3
mov byte [eax + 8], 1
mov dword [esp + 0x10], edi
jmp 0x453012
mov cl, byte [eax + 8]
test cl, cl
jne 0x452a43
mov edi, 1
mov dword [esp + 0x10], edi
jmp 0x453012
mov ebx, dword [esp + 0x24]
test ebx, ebx
mov edi, dword [esp + 0x14]
je 0x452aed
cmp dword [edi + 0x3c], 2
jne 0x452aed
mov eax, dword [esi + 0x4c]
test ah, ah
js 0x452aed
mov esi, dword [esp + 0x30]
test byte [esi], 0x40
jne 0x452ae6
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x2c]
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x74]
push edx
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x68]
push ecx
push ebx
push eax
call dword [eax + 0x18]
add esp, 0x1c
test eax, eax
jne 0x452aac
push eax
call fcn.0044b1f0
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x452ac4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x452ac4
mov eax, dword [esp + 0x54]
test eax, eax
ja 0x452ace
push 0
call fcn.0044b1f0
add esp, 4
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
push edx
push eax
push edi
call dword [edi + 0x40]
mov eax, dword [esi]
add esp, 0xc
or eax, 0x40
mov dword [esi], eax
mov esi, dword [esp + 0x150]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x452ba1
mov ecx, dword [esp + 0x158]
mov dl, byte [ecx + 0x4c]
test dl, dl
jns 0x452ba1
test ebx, ebx
je 0x452ba1
mov edx, dword [edi + 0x7c]
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x452ba1
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x452b3f
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
call fcn.0044c6c0
test eax, eax
je 0x452b5e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x452ba1
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx + 0x20]
mov eax, dword [esp + 0x18]
cmp byte [eax + edx], 0
jne 0x452ba1
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x24]
mov eax, dword [ecx + 0x2c]
push 0
push edx
push eax
call dword [eax + 0x2c]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x15c]
push 0x66ac4a
push str.Free_Storage
push str.TryRenderBands
call fcn.0044d6d0
add esp, 0x18
mov dword [esp + 0x24], 0
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x452bcb
mov ecx, dword [esp + 0x24]
mov eax, ecx
neg eax
sbb eax, eax
add eax, 4
test ecx, ecx
mov dword [esp + 0x20], eax
jne 0x452c01
mov edi, 4
mov dword [esp + 0x10], edi
jmp 0x453012
xor eax, eax
cmp word [esp + 0x20], 2
mov edi, 4
setne al
mov dword [esp + 0x10], edi
lea eax, [eax*4 + 7]
mov dword [esp + 0x20], eax
jmp 0x453012
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x452c01
push 0
call fcn.0044b1f0
add esp, 4
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + 0x4c]
test ah, ah
js 0x452c27
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x3c]
cmp eax, 3
je 0x452c20
cmp eax, 4
jne 0x452c27
mov ebx, 1
jmp 0x452c29
xor ebx, ebx
call sub.MSVCR71.dll_clock
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0xc]
call fcn.0044c6c0
test eax, eax
jne 0x452c5f
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x7c]
mov eax, dword [ecx + 0x10]
test eax, eax
jne 0x452c5f
xor ecx, ecx
jmp 0x452c64
mov ecx, 1
mov edx, dword [esp + 0x158]
mov eax, dword [edx + 0x2c]
push ebp
push 0x451de0
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x38]
push ecx
push eax
call dword [eax + 0x28]
call sub.MSVCR71.dll_clock
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x16c]
push 0x66ac4a
push str.Release_Storage
push str.TryRenderBands
mov dword [esp + 0x54], eax
call fcn.0044d6d0
mov eax, dword [0x6bf478]
mov esi, dword [esp + 0x54]
add esp, 0x28
test eax, eax
je 0x452cde
mov ecx, dword [esp + 0x28]
mov ebx, dword [0x6927c8]
mov edx, esi
sub edx, ecx
mov ecx, dword [esp + 0x1c]
push 1
add edx, ebx
push edx
push ecx
mov edx, edi
push edx
call dword [eax + 4]
add esp, 0x10
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0x28], 3
jne 0x452d98
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x452d98
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x150]
push eax
mov eax, dword [0x6927c8]
push ecx
sub esi, dword [esp + 0x30]
add esi, eax
push esi
push str.Compress_Band_Time
mov esi, edi
call fcn.0044d550
mov eax, dword [edi + 0x4c]
add esp, 0x10
test ah, 0x20
jne 0x452d82
mov esi, dword [esp + 0x158]
mov eax, dword [esi + 0x2c]
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [edi + 0x10]
lea edx, [esp + 0x8c]
push edx
push ecx
push eax
call dword [eax + 0x14]
add esp, 0x1c
test eax, eax
je 0x452d82
mov edx, dword [esp + 0x68]
mov eax, esi
push edx
mov esi, ebp
call fcn.0044fb50
add esp, 4
test eax, eax
je 0x452d82
or dword [ebp + 0x58], 0x100
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebp + 0x24]
add ecx, eax
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x24], ecx
mov ecx, dword [ebx + 0x34]
add eax, ecx
mov dword [ebp + 0x20], eax
mov eax, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov edi, eax
jmp 0x453012
test eax, eax
jne 0x452de2
mov ax, word [ebp + 0x34]
cmp ax, word [ebp + 0x36]
jae 0x452dbf
inc eax
mov word [ebp + 0x34], ax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x34]
add dword [ebp + 0x24], edx
mov eax, dword [eax + 0x34]
mov ecx, dword [ebp + 0x20]
add ecx, eax
mov edi, 3
mov dword [ebp + 0x20], ecx
mov dword [esp + 0x10], edi
jmp 0x453012
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x452e2c
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x452e2c
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x452e2c
movzx ecx, dx
mov edx, dword [esp + 0x2c]
push ecx
push edx
call fcn.0044c7b0
xor ecx, ecx
add esp, 8
test eax, eax
setne cl
mov dword [esp + 0x40], eax
lea ecx, [ecx + ecx + 1]
mov edi, ecx
mov dword [esp + 0x10], edi
jmp 0x453012
mov ecx, dword [esp + 0x24]
test ecx, ecx
mov ebx, 1
jne 0x452e59
xor edx, edx
cmp word [esp + 0x20], 5
mov edi, 4
sete dl
mov dword [esp + 0x10], edi
add edx, 6
mov dword [esp + 0x20], edx
jmp 0x453012
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x2c]
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x94]
push edx
lea edx, [esp + 0x70]
push edx
lea edx, [esp + 0xa4]
push edx
push ecx
push eax
call dword [eax + 0x18]
add esp, 0x1c
test eax, eax
jne 0x452e9a
push eax
call fcn.0044b1f0
add esp, 4
mov eax, dword [esp + 0x5c]
cmp eax, 2
je 0x452eac
cmp eax, 3
je 0x452eac
xor edi, edi
jmp 0x452ed5
cmp eax, 2
mov edi, 1
jne 0x452ec3
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x452ed3
jmp 0x452ed5
cmp eax, 3
jne 0x452ed5
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x44]
test eax, eax
jne 0x452ed5
xor ebx, ebx
cmp dword [ebp + 0x44], 2
jne 0x452efb
mov dx, word [ebp + 0x34]
cmp dx, word [ebp + 0x36]
jb 0x452efb
test edi, edi
je 0x452efb
test ebx, ebx
je 0x452efb
mov edi, 3
mov dword [esp + 0x10], edi
jmp 0x453012
call sub.MSVCR71.dll_clock
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x64]
push ecx
mov esi, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x2c]
push 0
push ebx
push edx
push eax
mov dword [esp + 0x40], esi
call dword [eax + 0x1c]
add esp, 0x14
test eax, eax
je case.0x452112.6
call sub.MSVCR71.dll_clock
test edi, edi
mov dword [esp + 0x34], eax
je 0x452f66
test ebx, ebx
je 0x452f66
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
mov esi, dword [0x6927c8]
push ecx
push edx
add eax, esi
mov esi, dword [esp + 0x158]
push eax
push str.Uncompress_Band_Time
call fcn.0044d550
add esp, 0x10
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x150]
push 0x66ac4a
push str.Acquire_Storage
push str.TryRenderBands
call fcn.0044d6d0
mov ecx, dword [0x6bf478]
add esp, 0xc
test ecx, ecx
je 0x452fb7
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
mov edx, dword [0x6927c8]
sub eax, esi
add eax, edx
push 2
push eax
mov eax, ebx
push eax
mov edx, edi
push edx
call dword [ecx + 4]
add esp, 0x10
cmp dword [ebp + 0x44], 2
jne 0x452fce
xor eax, eax
mov ax, word [ebp + 0x34]
cmp ax, word [ebp + 0x36]
jae 0x452fce
inc eax
mov word [ebp + 0x34], ax
xor eax, eax
cmp word [esp + 0x20], 5
mov dword [esp + 0x10], 4
mov edi, dword [esp + 0x10]
sete al
add eax, 6
mov dword [esp + 0x20], eax
jmp 0x453012
mov edi, 4
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], 7
jmp 0x453012
push 0
call fcn.0044b1f0
push 0
call fcn.0044b1f0
add esp, 8
mov ecx, dword [esp + 0x14]
movzx edx, word [ecx + 0x10]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x150]
imul edx, eax
mov ebx, dword [esi + 0x2c]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
add edx, ecx
mov word [ebx + edx*2], si
mov edx, dword [esp + 0x14]
movzx edx, word [edx + 0x10]
mov ebx, dword [esp + 0x24]
imul edx, eax
mov eax, dword [esp + 0x150]
mov eax, dword [eax + 0x24]
add edx, ecx
cmp edi, 4
mov dword [eax + edx*4], ebx
je 0x453061
cmp edi, 3
jne 0x453070
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x453074
mov eax, 1
jmp 0x453076
mov ebx, dword [esp + 0x38]
xor eax, eax
xor edx, edx
test ebx, ebx
setne dl
push 2
push edx
mov edx, dword [esp + 0x48]
push eax
xor eax, eax
test edx, edx
mov edx, dword [ebp + 0x44]
setne al
push eax
mov eax, dword [esp + 0x28]
push edi
push esi
push edx
push eax
push ecx
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x40]
push edx
call fcn.0044d5d0
add esp, 0x28
cmp edi, 2
je 0x451fb3
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x28], 1
jne 0x453119
cmp dword [ebp + 0x48], 2
jne 0x453119
cmp edi, 4
jne 0x45311e
mov eax, dword [esp + 0x150]
push eax
call fcn.0044e080
mov ecx, dword [esi + 0x88]
mov edx, dword [ecx + 8]
movzx eax, byte [esi + 0x12]
movzx ecx, word [esi + 0x10]
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [eax + 0x14]
push ecx
mov ecx, dword [ebp + 0x54]
push ecx
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x30]
push ecx
push eax
call dword [edx + 0x3c]
add esp, 0x1c
test eax, eax
je 0x453127
mov eax, dword [esp + 0x150]
call fcn.0044e2e0
jmp 0x453127
cmp edi, 4
je 0x453127
cmp edi, 3
jne 0x453398
test ebx, ebx
jne 0x453398
mov eax, dword [ebp + 0x44]
cmp eax, 2
jne 0x45315d
mov cx, word [ebp + 0x34]
cmp cx, word [ebp + 0x36]
jne 0x45315d
movzx dx, byte [esi + 0x12]
cmp word [ebp + 0x3e], dx
jb 0x45315d
movzx dx, byte [ebp + 0x4c]
mov cx, word [ebp + 0x2e]
mov word [ebp + 0x3c], cx
mov word [ebp + 0x3e], dx
mov cx, word [ebp + 0x34]
cmp cx, word [ebp + 0x36]
jb 0x4531b1
mov dx, word [ebp + 0x38]
cmp dx, word [ebp + 0x3a]
jb 0x4531b1
cmp eax, 2
jne 0x4531b1
mov ax, word [ebp + 0x3c]
mov cl, byte [ebp + 0x3e]
mov edx, dword [esp + 0x158]
mov word [ebp + 0x2e], ax
mov byte [ebp + 0x4c], cl
mov dword [ebp + 0x44], 3
test byte [edx + 0x4c], 3
mov eax, 0xffffffff
je 0x4531a1
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x150]
push ebp
call fcn.0044d3e0
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x453332
inc word [ebp + 0x2e]
mov ax, word [ebp + 0x2e]
cmp ax, word [ecx + 0x10]
jne 0x453398
mov edx, dword [esp + 0x158]
xor esi, esi
mov word [ebp + 0x2e], si
test byte [edx + 0x4c], 1
je 0x45327b
mov word [ebp + 0x34], si
movzx ax, byte [ecx + 0x12]
mov word [ebp + 0x3e], ax
cmp dword [ebp + 0x44], 2
jne 0x453210
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x150]
push ebp
call fcn.0044d3e0
add esp, 4
mov eax, dword [ebp + 0x44]
cmp eax, esi
je 0x45321a
inc byte [ebp + 0x4c]
mov cl, byte [ebp + 0x4c]
cmp cl, byte [ebp + 0x4f]
jae 0x45326f
cmp eax, esi
jne 0x45322d
mov eax, 1
jmp 0x453250
mov edx, dword [esp + 0x150]
test byte [edx + 0x4e], 1
jne 0x45324b
mov eax, dword [esp + 0x158]
test byte [eax + 0x4c], 4
je 0x45324b
xor eax, eax
jmp 0x453250
mov eax, 2
cmp eax, 2
mov dword [ebp + 0x44], eax
jne 0x453398
mov cx, word [ebp + 0x38]
mov word [ebp + 0x3a], cx
mov word [ebp + 0x38], 0
jmp 0x453398
mov dword [ebp + 0x44], 4
jmp 0x453398
mov bl, byte [ebp + 0x4c]
mov cl, byte [ebp + 0x4f]
inc bl
mov al, bl
cmp al, cl
mov byte [ebp + 0x4c], bl
jae 0x4532e5
test byte [edx + 0x4c], 2
je 0x453398
mov eax, dword [ebp + 0x44]
cmp eax, 3
je 0x4532a9
cmp eax, 2
jne 0x453398
jmp 0x4532ae
cmp eax, 2
jne 0x4532c4
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x150]
push ebp
call fcn.0044d3e0
add esp, 4
xor esi, esi
mov edx, dword [esp + 0x14]
mov word [ebp + 0x34], si
movzx ax, byte [edx + 0x12]
mov word [ebp + 0x3e], ax
mov word [ebp + 0x38], si
mov dword [ebp + 0x44], 2
jmp 0x453398
cmp dword [ebp + 0x44], 2
jne 0x45330a
test byte [edx + 0x4c], 2
je 0x4532f7
mov eax, dword [esp + 0x18]
jmp 0x4532fa
or eax, 0xffffffff
mov ebx, dword [esp + 0x150]
push ebp
call fcn.0044d3e0
add esp, 4
mov eax, dword [ebp + 0x44]
neg eax
sbb eax, eax
and eax, 3
inc eax
cmp eax, 1
mov dword [ebp + 0x44], eax
jne 0x453398
mov ecx, dword [esp + 0x14]
mov word [ebp + 0x34], 0
movzx dx, byte [ecx + 0x12]
mov byte [ebp + 0x4c], 0
jmp 0x453394
mov bl, byte [ebp + 0x4c]
mov dl, byte [ebp + 0x4f]
inc bl
mov al, bl
cmp al, dl
mov byte [ebp + 0x4c], bl
jne 0x453398
inc word [ebp + 0x2e]
mov ax, word [ebp + 0x2e]
mov byte [ebp + 0x4c], 0
cmp ax, word [ecx + 0x10]
jne 0x453398
cmp dword [ebp + 0x44], 2
jne 0x45336e
mov ebx, dword [esp + 0x150]
push ebp
or eax, 0xffffffff
call fcn.0044d3e0
add esp, 4
mov eax, dword [ebp + 0x44]
neg eax
sbb eax, eax
and eax, 3
inc eax
cmp eax, 1
mov dword [ebp + 0x44], eax
jne 0x453398
mov ecx, dword [esp + 0x14]
xor eax, eax
mov word [ebp + 0x34], ax
movzx dx, byte [ecx + 0x12]
mov word [ebp + 0x2e], ax
mov word [ebp + 0x3e], dx
mov eax, dword [0x6927c4]
test eax, eax
jne 0x453525
cmp dword [ebp + 0x44], 1
jne 0x453525
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x2c]
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x58]
push edx
mov edx, dword [esp + 0x160]
lea ecx, [esp + 0xb4]
push ecx
mov ecx, dword [edx + 0x10]
push ecx
push eax
call dword [eax + 0x14]
add esp, 0x1c
test eax, eax
je 0x453557
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x150]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x15c]
mov esi, ebp
mov edi, ebx
mov dword [ebx + 0x3c], edx
call fcn.0044fb50
add esp, 4
test eax, eax
je 0x453439
mov cx, word [ebp + 0x34]
cmp cx, word [ebp + 0x36]
ja 0x453430
mov dx, word [ebp + 0x38]
cmp dx, word [ebp + 0x3a]
jbe 0x453439
mov eax, 1
xor esi, esi
jmp 0x45343d
xor esi, esi
xor eax, eax
mov ecx, dword [ebp + 0x58]
shl eax, 8
or eax, ecx
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [ebp + 0x58], eax
test ah, 1
mov eax, dword [esp + 0x50]
jne 0x453499
cmp eax, esi
je 0x453466
mov ecx, dword [ebx + 0x4c]
test ch, 0x20
je 0x453499
mov ax, word [ebp + 0x38]
mov ecx, dword [esp + 0x158]
mov word [ebp + 0x3a], ax
mov word [ebp + 0x38], si
mov dword [ebp + 0x18], 3
mov edx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x2c]
push 3
push edx
push eax
call dword [eax + 0x10]
add esp, 0xc
mov dword [ebp + 0x44], 2
jmp 0x45350b
mov edi, dword [esp + 0x158]
test byte [edi + 0x4c], 1
je 0x4534b3
push esi
call fcn.0044b1f0
mov eax, dword [esp + 0x54]
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x44], esi
mov edx, dword [ecx + 0x34]
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], esi
mov word [ebp + 0x34], si
movzx cx, byte [ecx + 0x12]
mov word [ebp + 0x3e], cx
shl eax, 0xd
mov word [ebp + 0x38], si
mov word [ebp + 0x2e], si
mov byte [ebp + 0x4c], 0
mov edx, dword [ebx + 0x4c]
xor eax, edx
and eax, 0x2000
xor edx, eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x4c], edx
mov ecx, dword [ebp + 0x58]
and ecx, 0xfffffeff
cmp eax, esi
mov dword [ebp + 0x58], ecx
jne 0x45350b
movzx dx, byte [edi + 0x49]
mov word [ebx + 0x4a], dx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
mov esi, ebp
call fcn.0044d9b0
add esp, 0xc
mov dword [esp + 0x10], 3
jmp 0x453563
mov eax, dword [ebp + 0x44]
test eax, eax
jne 0x453557
cmp dword [ebp + 0x18], 3
jne 0x453557
mov ecx, dword [esp + 0x150]
mov eax, dword [esp + 0x158]
mov dword [ebp + 0x18], 2
mov edx, dword [ecx + 0x10]
mov eax, dword [eax + 0x2c]
push 2
push edx
push eax
call dword [eax + 0x10]
add esp, 0xc
cmp edi, 1
mov ebx, dword [esp + 0x150]
je 0x4535c1
mov eax, dword [esp + 0x40]
test eax, eax
je 0x453581
mov cx, word [ebp + 0x2e]
mov word [eax + 4], cx
mov dl, byte [ebp + 0x4c]
mov byte [eax + 7], dl
mov ecx, dword [ebp + 0x44]
mov dword [eax + 0xc], ecx
jmp 0x4535c1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4535a4
mov dx, word [eax + 4]
mov word [ebp + 0x30], dx
mov cl, byte [eax + 7]
mov byte [ebp + 0x4d], cl
mov edx, dword [eax + 0xc]
mov dword [ebp + 0x48], edx
call fcn.0044c820
jmp 0x4535c1
mov eax, dword [0x6927c4]
test eax, eax
jne 0x4535c1
mov ax, word [ebp + 0x2e]
mov cl, byte [ebp + 0x4c]
mov edx, dword [ebp + 0x44]
mov word [ebp + 0x30], ax
mov byte [ebp + 0x4d], cl
mov dword [ebp + 0x48], edx
cmp dword [ebp + 0x48], 4
jne 0x4536a9
mov eax, dword [ebx + 0x40]
movzx esi, byte [ebp + 0x4d]
movzx edi, word [ebp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [0x6bf47c]
test ah, 4
je 0x45366c
mov eax, dword [0x692740]
test eax, eax
je 0x45366c
mov ecx, eax
call dword [ecx + 4]
push 0x400
call fcn.0044c890
mov edx, dword [0x692770]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax*4 + 0x68156c]
movzx eax, word [esp + 0x24]
push 3
push edx
mov edx, dword [str.Rendered]
push str.TryRenderBands
push ecx
mov ecx, dword [eax*4 + 0x681528]
push edx
mov edx, dword [esp + 0x4c]
push 0x66ac4a
push ecx
push 0x66ac4a
push esi
push edi
push edx
lea eax, [esp + 0xdc]
push str.Page_d__b_d__p_d___s_s_s___s___s__s_cnt_2d._d_n
push eax
call fcn.0046a5f0
mov edx, dword [0x692740]
lea ecx, [esp + 0xe4]
push ecx
call dword [edx]
mov eax, dword [0x692740]
add esp, 0x3c
call dword [eax + 8]
mov eax, dword [0x6bf478]
test eax, eax
je 0x4536a9
mov ecx, dword [ebx + 0x38]
test ecx, ecx
je 0x4536a9
mov eax, dword [ebx + 0x4c]
mov edx, eax
shr edx, 0xd
not edx
shr eax, 0x10
and edx, 1
push edx
and eax, 1
push eax
mov eax, dword [esp + 0x1c]
movzx edx, word [eax + 0x10]
mov eax, dword [ecx + 8]
mov ecx, dword [0x6bf478]
push edx
push eax
call dword [ecx]
add esp, 0x10
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x4536c7
mov eax, dword [0x6927c4]
test eax, eax
je 0x4536c7
mov dword [esp + 0x44], 1
jmp 0x451fb3
mov eax, dword [esp + 0x10]
cmp eax, 3
je 0x451fb3
xor edx, edx
cmp eax, 1
setne dl
pop edi
pop esi
pop ebp
pop ebx
mov eax, edx
add esp, 0x13c
ret