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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4dc4ae
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x521a70]
xor eax, esp
mov dword [esp + 0x140], eax
push ebx
push esi
push edi
mov eax, dword [0x521a70]
xor eax, esp
push eax
lea eax, [esp + 0x158]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0xa44], ebx
mov dword [esp + 0x18], esi
je 0x43e217
mov eax, dword [esi + 0x47c]
push 0x8b
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esi + 0x478]
mov eax, dword [edx + 0x58]
lea ecx, [esi + 0x478]
call eax
push 0xffffffffffffffff
lea eax, [esi + 0x2b24]
push ebx
push eax
lea ecx, [esp + 0x124]
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
call fcn.00402150
cmp dword [esp + 0x12c], ebx
mov dword [esp + 0x160], ebx
lea edi, [ebx + 0x10]
je 0x43d50c
push 1
push ebx
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x124]
mov byte [esp + 0x28], 0x20
call fcn.0040eb40
cmp eax, ebx
jle 0x43d47c
cmp dword [esp + 0x130], edi
mov ecx, dword [esp + 0x11c]
jae 0x43d416
lea ecx, [esp + 0x11c]
push eax
push ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xd0], bl
call fcn.00402230
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0x124]
mov byte [esp + 0x16c], 1
call fcn.00402150
cmp dword [esp + 0xdc], edi
mov byte [esp + 0x160], bl
jb 0x43d47c
mov eax, dword [esp + 0xc8]
push eax
call fcn.004b9684
add esp, 4
lea ecx, [esp + 0x118]
push ecx
lea edx, [esp + 0xc8]
push str._b__sha___0_
push edx
call fcn.0040fd20
push str.__b___sha_
push eax
lea eax, [esp + 0x70]
push eax
mov byte [esp + 0x178], 2
call fcn.00417690
add esp, 0x18
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x124]
mov byte [esp + 0x16c], 3
call fcn.00402150
cmp dword [esp + 0x74], edi
jb 0x43d4dc
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xdc], edi
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
mov byte [esp + 0x160], bl
jb 0x43d50c
mov edx, dword [esp + 0xc8]
push edx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x130], edi
mov eax, dword [esp + 0x11c]
jae 0x43d523
lea eax, [esp + 0x11c]
mov edx, dword [esi + 0x4a0]
lea ecx, [esi + 0x4a0]
push eax
mov eax, dword [edx]
call eax
mov eax, dword [esi + 0x4c0]
cmp eax, ebx
je 0x43d547
push eax
call fcn.004b9684
add esp, 4
lea ecx, [esi + 0x4b0]
push ecx
mov dword [esi + 0x4c0], ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, dword [esi + 0xa44]
mov eax, dword [esi + 0x74]
add esi, 0x70
cmp eax, ebx
jne 0x43d56e
xor edi, edi
jmp 0x43d586
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x58], edi
call fcn.0040f540
mov dword [esp + 0x44], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x44]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x44]
mov dword [eax], eax
mov eax, dword [esp + 0x44]
mov dword [eax + 8], eax
mov dword [esp + 0x48], ebx
xor esi, esi
cmp edi, ebx
mov byte [esp + 0x160], 4
jle 0x43d68a
mov dword [esp + 0x14], ebx
lea esp, [esp]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0xa44]
mov eax, dword [edi + 0xb4]
add edi, 0xb0
cmp eax, ebx
je 0x43d606
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x43d60b
call fcn.004bb053
mov eax, dword [edi + 4]
add eax, dword [esp + 0x14]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
call fcn.00402150
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x164], 5
call fcn.00413560
mov dword [eax], esi
cmp dword [esp + 0xdc], 0x10
mov byte [esp + 0x160], 4
jb 0x43d678
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.004b9684
add esp, 4
add dword [esp + 0x14], 0x1c
add esi, 1
cmp esi, dword [esp + 0x58]
jl 0x43d5d0
lea ecx, [esp + 0x20]
call fcn.0040f540
mov dword [esp + 0x24], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x24]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x24]
mov dword [eax], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 8], eax
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xa4c]
mov esi, dword [ecx]
add eax, 0xa48
mov edi, eax
mov byte [esp + 0x160], 6
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], edi
lea ebx, [ebx]
cmp edi, ebx
mov edx, dword [eax + 4]
mov dword [esp + 0x84], edx
je 0x43d6f2
cmp edi, eax
je 0x43d6f7
call fcn.004bb053
cmp esi, dword [esp + 0x84]
je 0x43d9be
cmp edi, ebx
jne 0x43d70d
call fcn.004bb053
cmp esi, dword [edi + 4]
jne 0x43d717
call fcn.004bb053
mov esi, dword [esp + 0x3c]
push 0xffffffffffffffff
push ebx
add esi, 0xc
push esi
lea ecx, [esp + 0xb4]
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
call fcn.00402150
mov eax, dword [esp + 0x3c]
cmp eax, dword [edi + 4]
mov byte [esp + 0x160], 7
jne 0x43d75d
call fcn.004bb053
push 0xffffffffffffffff
push ebx
add esi, 0x1c
push esi
lea ecx, [esp + 0xec]
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
call fcn.00402150
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
mov byte [esp + 0x160], 8
jae 0x43d7a9
lea eax, [esp + 0xac]
mov edi, dword [esp + 0x18]
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0xa0]
mov ecx, edi
call eax
test eax, eax
jne 0x43d807
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x94]
mov dword [esp + 0x90], ecx
push eax
lea ecx, [esp + 0x48]
call fcn.00463a40
mov esi, eax
mov eax, dword [esi]
cmp eax, ebx
je 0x43d7f2
lea ecx, [esp + 0x40]
cmp eax, ecx
je 0x43d7f7
call fcn.004bb053
mov edx, dword [esp + 0x8c]
cmp dword [esi + 4], edx
je 0x43d94f
mov eax, dword [edi]
lea ecx, [esp + 0xe0]
push ecx
lea edx, [esp + 0xac]
push edx
mov edx, dword [eax + 0xe0]
lea ecx, [esp + 0x64]
push ecx
mov ecx, edi
call edx
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x160], 9
jb 0x43d83b
mov eax, dword [eax + 4]
jmp 0x43d83e
add eax, 4
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x4a0]
lea ecx, [esi + 0x4a0]
push eax
mov eax, dword [edx + 0xc]
call eax
cmp dword [esp + 0x74], 0x10
mov edi, eax
mov byte [esp + 0x160], 8
jb 0x43d872
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
jae 0x43d89a
lea eax, [esp + 0xac]
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x7c]
mov ecx, esi
call eax
test eax, eax
je 0x43d8cf
lea ecx, [esp + 0xa8]
mov eax, 1
push ecx
lea ecx, [esi + 0xa6c]
mov word [edi + 0xe], ax
mov word [edi + 0xc], ax
call fcn.00433aa0
mov dx, word [eax]
mov word [edi + 0xa], dx
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0xe8]
push eax
lea ecx, [edi + 0x80]
call fcn.00402150
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
jae 0x43d8fd
lea eax, [esp + 0xac]
push eax
lea ecx, [edi + 0x38]
call fcn.00416430
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
jae 0x43d91e
lea eax, [esp + 0xac]
push eax
lea ecx, [edi + 0x10]
call fcn.00416430
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esi + 0x2bb8]
call fcn.0043a4a0
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x24]
mov dword [eax], edi
call fcn.0043a4a0
mov dword [eax], edi
cmp dword [esp + 0xf8], 0x10
jb 0x43d969
mov eax, dword [esp + 0xe4]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0xf8], 0xf
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
mov byte [esp + 0x160], 6
jb 0x43d9a4
mov ecx, dword [esp + 0xac]
push ecx
call fcn.004b9684
add esp, 4
lea ecx, [esp + 0x38]
call fcn.0040ede0
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
jmp 0x43d6e0
lea ecx, [esp + 0x2c]
call fcn.0040f540
mov dword [esp + 0x30], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x30]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x30]
mov dword [eax], eax
mov eax, dword [esp + 0x30]
mov dword [eax + 8], eax
mov dword [esp + 0x34], ebx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x160], 0xa
call fcn.0040f540
mov dword [esp + 0x50], eax
mov byte [eax + 0x2d], 1
mov eax, dword [esp + 0x50]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x50]
mov dword [eax], eax
mov eax, dword [esp + 0x50]
mov dword [eax + 8], eax
mov dword [esp + 0x54], ebx
cmp dword [esp + 0x58], ebx
mov byte [esp + 0x160], 0xb
mov dword [esp + 0x38], ebx
jle 0x43e0ef
lea edx, [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0xa44]
mov eax, dword [edi + 0xb4]
add edi, 0xb0
cmp eax, ebx
je 0x43da75
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x38], eax
jb 0x43da7a
call fcn.004bb053
mov eax, dword [edi + 4]
add eax, dword [esp + 0x14]
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xec]
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
call fcn.00402150
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0xe0]
mov dword [esp + 0x9c], ecx
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0x164], 0xc
call fcn.00462ef0
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
je 0x43db3a
cmp dword [eax + 0x24], 0x10
mov edi, dword [eax + 0x20]
jb 0x43dae9
mov eax, dword [eax + 0x10]
jmp 0x43daec
add eax, 0x10
mov esi, dword [esp + 0xf4]
cmp esi, edi
mov edx, esi
jb 0x43dafb
mov edx, edi
cmp dword [esp + 0xf8], 0x10
mov ecx, dword [esp + 0xe4]
jae 0x43db13
lea ecx, [esp + 0xe4]
push edx
push eax
push ecx
call fcn.0040e2d0
add esp, 0xc
cmp eax, ebx
jne 0x43db2f
cmp esi, edi
jb 0x43db3a
xor eax, eax
cmp esi, edi
setne al
cmp eax, ebx
jl 0x43db3a
lea eax, [esp + 0x88]
jmp 0x43db57
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x20]
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], ecx
lea eax, [esp + 0x80]
mov ecx, dword [eax]
cmp ecx, ebx
mov edi, dword [eax + 4]
je 0x43db68
lea edx, [esp + 0x20]
cmp ecx, edx
je 0x43db6d
call fcn.004bb053
cmp edi, dword [esp + 0x9c]
je 0x43e0b3
mov eax, dword [esp + 0xe4]
mov esi, 0x10
cmp dword [esp + 0xf8], esi
jae 0x43db96
lea eax, [esp + 0xe4]
push str.sample
push eax
call fcn.004c5821
add esp, 8
test eax, eax
jne 0x43e0b3
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0xa44]
mov eax, dword [edi + 0x74]
add edi, 0x70
cmp eax, ebx
je 0x43dbde
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x38], eax
jb 0x43dbe3
call fcn.004bb053
mov edi, dword [edi + 4]
add edi, dword [esp + 0x14]
cmp dword [edi + 0x18], esi
jb 0x43dbf4
mov edi, dword [edi + 4]
jmp 0x43dbf7
add edi, 4
mov eax, edi
mov dword [esp + 0x114], 0xf
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x43dc15
sub eax, esi
push eax
push edi
lea ecx, [esp + 0x104]
call fcn.00402230
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x104]
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x16c], 0xd
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
call fcn.00402150
lea edi, [esp + 0xa8]
mov byte [esp + 0x160], 0xe
call fcn.00424e70
push 7
push ebx
push str.sample_
mov ecx, edi
call fcn.0040eb40
cmp eax, ebx
jl 0x43e063
mov edi, dword [esp + 0xac]
mov esi, 0x10
cmp dword [esp + 0xc0], esi
jae 0x43dcad
lea edi, [esp + 0xac]
lea edi, [edi + eax + 7]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x43dcb6
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x104]
call fcn.00402230
push 1
push ebx
push 0x4e97ec
lea ecx, [esp + 0x108]
call fcn.0040eb40
mov edi, eax
cmp edi, ebx
jle 0x43e063
cmp dword [esp + 0x114], esi
mov eax, dword [esp + 0x100]
jae 0x43dd04
lea eax, [esp + 0x100]
push edi
push eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xd0], bl
call fcn.00402230
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x16c], 0xf
call fcn.00402150
cmp dword [esp + 0xdc], esi
mov byte [esp + 0x160], 0xe
jb 0x43dd6b
mov eax, dword [esp + 0xc8]
push eax
call fcn.004b9684
add esp, 4
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0xa4]
mov dword [esp + 0x98], ecx
push eax
lea ecx, [esp + 0x34]
call fcn.00463a40
mov esi, eax
mov eax, dword [esi]
cmp eax, ebx
je 0x43dd9f
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x43dda4
call fcn.004bb053
mov edx, dword [esp + 0x94]
cmp dword [esi + 4], edx
jne 0x43de33
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x24]
call fcn.0043a4a0
mov esi, dword [eax]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0xe4]
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x60]
push eax
call edx
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x160], 0x10
jb 0x43ddf5
mov eax, dword [eax + 4]
jmp 0x43ddf8
add eax, 4
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
cmp dword [esp + 0x74], 0x10
mov esi, eax
mov byte [esp + 0x160], 0xe
jb 0x43de20
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004b9684
add esp, 4
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x30]
call fcn.0043a4a0
mov dword [eax], esi
cmp dword [esp + 0x114], 0x10
mov eax, dword [esp + 0x100]
jae 0x43de4b
lea eax, [esp + 0x100]
lea edi, [eax + edi + 1]
mov eax, edi
mov dword [esp + 0x14c], 0xf
mov dword [esp + 0x148], ebx
mov byte [esp + 0x138], bl
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x43de70
sub eax, esi
push eax
push edi
lea ecx, [esp + 0x13c]
call fcn.00402230
push 1
push ebx
push 0x4e97ec
lea ecx, [esp + 0x140]
mov byte [esp + 0x16c], 0x11
call fcn.0040eb40
mov edi, eax
cmp edi, ebx
jle 0x43e045
cmp dword [esp + 0x114], 0x10
mov eax, dword [esp + 0x100]
jae 0x43dec7
lea eax, [esp + 0x100]
mov ecx, dword [esp + 0xbc]
lea edx, [ecx + edi + 1]
push edx
mov esi, 0xf
push eax
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xd0], bl
call fcn.00402230
cmp dword [esp + 0x14c], 0x10
mov eax, dword [esp + 0x138]
mov byte [esp + 0x160], 0x12
jae 0x43df1a
lea eax, [esp + 0x138]
push edi
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.00402230
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x16c], 0x13
call fcn.00402150
cmp dword [esp + 0x74], 0x10
mov byte [esp + 0x160], 0x12
jb 0x43df69
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004b9684
add esp, 4
mov esi, dword [esp + 0x50]
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x54]
call fcn.00463a40
mov edi, eax
mov eax, dword [edi]
cmp eax, ebx
je 0x43df93
lea ecx, [esp + 0x4c]
cmp eax, ecx
je 0x43df98
call fcn.004bb053
cmp dword [edi + 4], esi
jne 0x43e025
lea edx, [esp + 0xa8]
push edx
lea ecx, [esp + 0x30]
call fcn.0043a4a0
mov edi, dword [eax]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xe4]
lea edx, [esp + 0xfc]
push edx
lea edx, [esp + 0x60]
push edx
call eax
mov esi, 0x10
cmp dword [eax + 0x18], esi
mov byte [esp + 0x160], 0x14
jb 0x43dfe6
mov eax, dword [eax + 4]
jmp 0x43dfe9
add eax, 4
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
cmp dword [esp + 0x74], esi
mov edi, eax
mov byte [esp + 0x160], 0x12
jb 0x43e010
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004b9684
add esp, 4
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x50]
call fcn.0043a4a0
mov dword [eax], edi
jmp 0x43e02a
mov esi, 0x10
cmp dword [esp + 0xdc], esi
jb 0x43e04a
mov eax, dword [esp + 0xc8]
push eax
call fcn.004b9684
add esp, 4
jmp 0x43e04a
mov esi, 0x10
cmp dword [esp + 0x14c], esi
jb 0x43e063
mov ecx, dword [esp + 0x138]
push ecx
call fcn.004b9684
add esp, 4
mov esi, 0x10
cmp dword [esp + 0xc0], esi
jb 0x43e081
mov edx, dword [esp + 0xac]
push edx
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x114], esi
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
jb 0x43e0b3
mov eax, dword [esp + 0x100]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0xf8], 0x10
mov byte [esp + 0x160], 0xb
jb 0x43e0d5
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.004b9684
add esp, 4
mov eax, dword [esp + 0x38]
add dword [esp + 0x14], 0x1c
add eax, 1
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x38], eax
jl 0x43da3d
mov esi, dword [esp + 0x18]
mov edx, dword [esi + 0x478]
mov eax, dword [edx + 0x5c]
lea ecx, [esi + 0x478]
call eax
mov ecx, dword [esi + 0xacc]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esp + 0x50]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x50]
push ecx
push edx
mov esi, ecx
push esi
lea edx, [esp + 0x88]
push edx
mov byte [esp + 0x174], 0xa
call fcn.004306f0
mov eax, dword [esp + 0x50]
push eax
call fcn.004b9684
mov eax, dword [esp + 0x34]
add esp, 4
push eax
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov edx, dword [eax]
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
mov byte [esp + 0x174], 6
call fcn.004306f0
mov edx, dword [esp + 0x30]
push edx
call fcn.004b9684
mov eax, dword [esp + 0x28]
add esp, 4
push eax
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x174], 4
call fcn.004306f0
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004b9684
mov eax, dword [esp + 0x48]
add esp, 4
push eax
lea ecx, [esp + 0x44]
push ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov edx, dword [eax]
push edx
mov esi, ecx
push esi
lea edx, [esp + 0x88]
push edx
mov byte [esp + 0x174], bl
call fcn.004125c0
mov eax, dword [esp + 0x44]
push eax
call fcn.004b9684
add esp, 4
cmp dword [esp + 0x130], 0x10
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
jb 0x43e217
mov ecx, dword [esp + 0x11c]
push ecx
call fcn.004b9684
add esp, 4
mov ecx, dword [esp + 0x158]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x140]
xor ecx, esp
call fcn.004b9963
mov esp, ebp
pop ebp
ret