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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5eee1e
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x70b744]
xor eax, esp
mov dword [esp + 0x2a8], eax
push ebx
push esi
push edi
mov eax, dword [0x70b744]
xor eax, esp
push eax
lea eax, [esp + 0x2c0]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [edi + 0x18]
xor ebx, ebx
push eax
lea esi, [esp + 0x38]
mov dword [esp + 0x24], edi
mov dword [esp + 0x40], ebx
call fcn.0044b496
mov dword [esp + 0x2c8], ebx
cmp dword [esp + 0x34], ebx
jne 0x5c383b
or dword [esp + 0x2c8], 0xffffffff
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x5c3834
call fcn.004117b8
xor eax, eax
jmp 0x5c45b9
push ebx
push ebx
push 3
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push 0x27c4
push eax
call fcn.004b9340
pop ecx
pop ecx
mov ecx, 0x7220d0
call fcn.004c4e06
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
lea eax, [edi + 0x58]
mov byte [esp + 0x2c8], 1
push eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x30]
push eax
call fcn.00428877
cmp dword [edi + 0x50], ebx
jne 0x5c3926
mov eax, dword [0x76483c]
lea edi, [esp + 0x44]
lea esi, [esp + 0x2c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], 0x764838
call fcn.004386ad
test al, al
jne 0x5c3926
push 0x764940
mov ecx, 0x721f18
call fcn.004bb2e3
test al, al
je 0x5c3926
mov edi, dword [esp + 0x2c]
cmp edi, ebx
jne 0x5c38cc
call fcn.0051e314
mov esi, dword [esp + 0x30]
cmp esi, dword [edi + 4]
jne 0x5c38da
call fcn.0051e314
mov eax, dword [esi + 0x28]
add esi, 0x2c
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], eax
call fcn.00411788
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x28]
mov edi, dword [esp + 0x20]
cmp eax, dword [edi + 0x30]
je 0x5c39db
mov eax, dword [esp + 0x18]
mov edx, edi
push 9
lea esi, [edx + 0x8c]
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
or dword [eax + 0x24], 0xffffffff
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x28], ecx
mov edi, edx
jmp 0x5c39db
push 0xc8
call fcn.0051d97d
mov esi, eax
cmp esi, ebx
pop ecx
je 0x5c396e
xor ecx, ecx
call fcn.00595223
lea ecx, [esi + 0x30]
call fcn.0041212f
lea ecx, [esi + 0x4c]
call fcn.0041212f
lea ecx, [esi + 0x68]
call fcn.0041212f
lea ecx, [esi + 0x84]
call fcn.0041212f
lea ecx, [esi + 0xa0]
call fcn.0041212f
jmp 0x5c3970
xor esi, esi
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], esi
call fcn.00429e49
push esi
lea eax, [esp + 0x34]
push esi
push eax
call fcn.0040f6ca
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x30]
push 9
mov dword [eax + 0x28], edx
lea esi, [ecx + 0x8c]
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
or dword [eax + 0x24], 0xffffffff
mov byte [eax + 0xbc], bl
mov dword [esp + 0x18], eax
mov dword [eax + 0xc0], ebx
lea ecx, [eax + 0x4c]
mov eax, dword [esp + 0x20]
push 0xffffffffffffffff
push ebx
add eax, 0x3c
push eax
call fcn.004106e6
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add eax, 0x30
push eax
call fcn.00428544
jmp 0x5c42a3
push ebx
lea eax, [esp + 0x80]
push eax
call fcn.00401000
push ecx
push ecx
mov byte [esp + 0x2d0], 2
mov ecx, dword [edi + 0x28]
mov eax, esp
mov dword [eax], ecx
lea ecx, [edi + 0x2c]
mov dword [esp + 0x1c], esp
push ecx
lea ecx, [eax + 4]
call fcn.00411809
push ebx
push 1
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.005c2bfc
cmp byte [esp + 0x40], bl
je 0x5c450c
mov al, byte [esp + 0x8c]
cmp al, 5
jne 0x5c424c
push 9
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0xd4]
call fcn.005c1c56
cmp byte [eax + 4], bl
jne 0x5c42c9
push 4
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0xc4]
call fcn.005c1d09
mov ecx, dword [esp + 0xc0]
cmp ecx, 1
je 0x5c430b
push 2
pop eax
cmp ecx, eax
je 0x5c43d9
cmp ecx, 3
je 0x5c43ec
cmp ecx, 4
je 0x5c43ff
push eax
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0xac]
call fcn.005c1d09
cmp dword [esp + 0xa4], ebx
jne 0x5c4467
push ebx
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.005c1b55
mov byte [esp + 0x2c8], 7
cmp dword [esp + 0x54], ebx
je 0x5c44f7
push 3
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0xbc]
call fcn.005c1d09
or dword [esp + 0x14], 0xffffffff
push 0xa
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0xb4]
call fcn.005c1d09
cmp dword [esp + 0xac], ebx
je 0x5c3b38
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
push 0xb
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0xcc]
call fcn.005c1c56
mov al, byte [esp + 0xc8]
mov ecx, dword [esp + 0x18]
mov byte [ecx + 0xc4], al
lea ecx, [esp + 0x204]
call fcn.00428588
mov dword [esp + method.CryptoPP::Weak1::MD5.virtual_0], vtable.CryptoPP::Weak1::MD5.0
mov byte [esp + 0x2c8], 8
push dword [esp + 0x54]
lea ecx, [esp + 0x208]
push dword [esp + 0x5c]
call fcn.004cc46f
cmp dword [edi + 0x50], ebx
jne 0x5c4166
cmp dword [esp + 0xb4], ebx
push 0x76495c
lea eax, [esp + 0x1a8]
push eax
mov ecx, edi
setne byte [esp + 0x1b]
call fcn.004bb1f5
or dword [esp + 0x3c], 1
cmp dword [eax + 0x14], ebx
je 0x5c3bcf
cmp byte [esp + 0x13], bl
mov byte [esp + 0x27], bl
je 0x5c3bd4
mov byte [esp + 0x27], 1
test byte [esp + 0x3c], 1
je 0x5c3bef
and dword [esp + 0x3c], 0xfffffffe
push ebx
push 1
lea ecx, [esp + 0x1ac]
call fcn.00410779
cmp byte [esp + 0x27], bl
je 0x5c3ff3
push 8
call fcn.0051d97d
cmp eax, ebx
pop ecx
je 0x5c3c0f
mov dword [eax], vtable.TeamViewer::CPasswordDialogImpl.0
mov esi, eax
jmp 0x5c3c11
xor esi, esi
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x30], esi
call fcn.00429c40
push esi
lea eax, [esp + 0x34]
push esi
push eax
call fcn.0040f6ca
add esp, 0xc
mov byte [esp + 0x2c8], 9
cmp byte [esp + 0x13], bl
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esi + 0x2c], eax
je 0x5c3c93
lea eax, [esp + 0x1a4]
push 0x2784
push eax
call fcn.004b9340
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x30]
mov byte [esp + 0x2d4], 0xa
call fcn.004106e6
push ebx
push 1
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x2d0], 9
call fcn.00410779
lea ecx, [esi + 0x4c]
push 0x69dd8c
call fcn.00410d6e
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 4], esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, 2
je 0x5c4522
cmp dword [esi + 0x7c], ebx
je 0x5c3ee3
lea eax, [esi + 0x68]
push eax
lea ecx, [esp + 0x1ec]
call fcn.0041186e
lea eax, [esp + 0x1e8]
push eax
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x2cc], 0xb
call fcn.0041186e
lea eax, [esi + 0x84]
push eax
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x2cc], 0xc
call fcn.0041186e
push 1
push ebx
lea eax, [esp + 0x1c]
mov byte [esp + 0x2d0], 0xd
push eax
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x20], 0x40
call fcn.00405267
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x5c3dad
push eax
push ebx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x1f4]
call fcn.004143f5
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x2d4], 0xe
call fcn.004106e6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0xd
call fcn.00410779
mov eax, dword [esp + 0x14]
push 0xffffffffffffffff
inc eax
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x1f4]
call fcn.004143f5
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x2d4], 0xf
call fcn.004106e6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0xd
call fcn.00410779
push 1
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x20], 0x5c
call fcn.00405267
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x5c3e5a
push eax
push ebx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x1f4]
call fcn.004143f5
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x2d4], 0x10
call fcn.004106e6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0xd
call fcn.00410779
mov eax, dword [esp + 0x14]
push 0xffffffffffffffff
inc eax
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x1f4]
call fcn.004143f5
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x2d4], 0x11
call fcn.004106e6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0xd
call fcn.00410779
push ecx
lea eax, [esp + 0x1d0]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0040484b
push 0x76495c
mov ecx, edi
call fcn.004ba3bc
push ecx
lea eax, [esp + 0x1a8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0040484b
push 0x764978
mov ecx, edi
call fcn.004ba3bc
push ecx
add esi, 0xa0
mov ecx, esp
mov dword [esp + 0x18], esp
push esi
call fcn.0040484b
push 0x764994
mov ecx, edi
call fcn.004ba3bc
push ebx
push 1
lea ecx, [esp + 0x1ac]
call fcn.00410779
push ebx
push 1
lea ecx, [esp + 0x1d4]
call fcn.00410779
lea ecx, [esp + 0x1e8]
jmp 0x5c3fbf
push 7
pop esi
push ebx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x1c0], esi
call fcn.00410c09
push ecx
mov byte [esp + 0x2cc], 0x12
lea eax, [esp + 0x1a8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0040484b
push 0x76495c
mov ecx, edi
call fcn.004ba3bc
push ebx
push 1
lea ecx, [esp + 0x1ac]
call fcn.00410779
push ebx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x1c0], esi
call fcn.00410c09
push ecx
mov byte [esp + 0x2cc], 0x13
lea eax, [esp + 0x1a8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0040484b
push 0x764978
mov ecx, edi
call fcn.004ba3bc
push ebx
push 1
lea ecx, [esp + 0x1ac]
call fcn.00410779
push ebx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x1c0], esi
call fcn.00410c09
push ecx
mov byte [esp + 0x2cc], 0x14
lea eax, [esp + 0x1a8]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0040484b
push 0x764994
mov ecx, edi
call fcn.004ba3bc
lea ecx, [esp + 0x1a4]
push ebx
push 1
call fcn.00410779
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
push 9
add edi, 0x8c
pop ecx
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x2c8], 8
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x5c3fef
call fcn.004117b8
mov edi, dword [esp + 0x20]
push 0x76495c
lea eax, [esp + 0x64]
push eax
mov ecx, edi
call fcn.004bb1f5
cmp dword [eax + 0x14], ebx
push ebx
push 1
lea ecx, [esp + 0x68]
setne byte [esp + 0x1b]
call fcn.00410779
cmp byte [esp + 0x13], bl
je 0x5c4142
push 5
lea eax, [esp + 0x1a8]
push eax
call fcn.00401000
push 0x76495c
lea eax, [esp + 0x64]
push eax
mov ecx, edi
mov byte [esp + 0x2d0], 0x15
call fcn.004bb1f5
push 6
lea esi, [esp + 0x1a8]
mov byte [esp + 0x2cc], 0x16
call fcn.005c24a6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0x15
call fcn.00410779
push 0x764978
lea eax, [esp + 0x64]
push eax
mov ecx, edi
call fcn.004bb1f5
push 7
mov byte [esp + 0x2cc], 0x17
call fcn.005c24a6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0x15
call fcn.00410779
push 0x764994
lea eax, [esp + 0x64]
push eax
mov ecx, edi
call fcn.004bb1f5
push 8
mov byte [esp + 0x2cc], 0x18
call fcn.005c24a6
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 0x15
call fcn.00410779
push ecx
push ecx
mov ecx, dword [edi + 0x28]
mov eax, esp
mov dword [eax], ecx
lea ecx, [edi + 0x2c]
mov dword [esp + 0x1c], esp
push ecx
lea ecx, [eax + 4]
call fcn.00411809
mov ecx, esi
call fcn.004010bc
mov ecx, esi
mov byte [esp + 0x2c8], 8
call fcn.00401040
lea ecx, [esp + 0x204]
call fcn.0042a683
mov byte [esp + 0x2c8], 2
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x5c412c
call fcn.004117b8
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2c8], 1
call fcn.00401040
jmp 0x5c42a3
mov eax, dword [esp + 0x18]
sub esp, 0x1c
add eax, 0x4c
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.0041186e
lea ecx, [esp + 0x220]
call fcn.004cc4b3
jmp 0x5c4190
sub esp, 0x1c
lea esi, [edi + 0x3c]
mov ecx, esp
mov dword [esp + 0x30], esp
push esi
call fcn.0041186e
lea ecx, [esp + 0x220]
call fcn.004cc4b3
push 0x69dd8c
mov ecx, esi
call fcn.00410d6e
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x208]
call fcn.004cc48c
push eax
lea ecx, [esp + 0x50]
call fcn.004288f2
push 5
lea eax, [esp + 0xd8]
push eax
mov byte [esp + 0x2d0], 0x19
call fcn.00401000
push ebx
mov byte [esp + 0x2cc], 0x1a
push dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
push 1
lea esi, [esp + 0xe0]
call fcn.005c1e67
push ecx
push ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x28]
mov eax, esp
add ecx, 0x2c
mov dword [esp + 0x1c], esp
push ecx
lea ecx, [eax + 4]
mov dword [eax], edx
call fcn.00411809
mov ecx, esi
call fcn.004010bc
mov ecx, esi
mov byte [esp + 0x2c8], 0x19
call fcn.00401040
mov byte [esp + 0x2c8], 8
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
je 0x5c4229
call fcn.004117b8
lea ecx, [esp + 0x204]
call fcn.0042a683
mov byte [esp + 0x2c8], 2
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x5c428e
call fcn.004117b8
jmp 0x5c428e
push str.expected_TVCmdAuthenticate__received__1___.Login.cpp__889_
lea ecx, [esp + 0x100]
mov byte [esp + 0x17], al
call fcn.00403e35
lea ecx, [esp + 0x13]
push ecx
mov byte [esp + 0x2cc], 0x1b
call fcn.0040410a
push eax
call fcn.004b9650
pop ecx
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2c8], 2
call fcn.00401441
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2c8], 1
call fcn.00401040
mov edi, dword [esp + 0x20]
cmp byte [edi + 0x78], bl
je 0x5c39ed
mov byte [esp + 0x2c8], bl
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
je 0x5c381f
call fcn.004117b8
jmp 0x5c381f
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2c8], 1
call fcn.00401040
mov byte [esp + 0x2c8], bl
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
je 0x5c42ee
call fcn.004117b8
or dword [esp + 0x2c8], 0xffffffff
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x5c4303
call fcn.004117b8
push 3
pop eax
jmp 0x5c45b9
push 5
lea eax, [esp + 0x80]
push eax
lea esi, [esp + 0x54]
call fcn.005c1d09
cmp dword [esp + 0x4c], ebx
je 0x5c43b0
lea eax, [esp + 0x60]
push 0x29aa
push eax
call fcn.004b9340
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x208]
mov byte [esp + 0x2cc], 3
call fcn.004241ee
push ebx
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x2d0], 5
call fcn.00410779
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x208]
call fcn.0041e85f
push ebx
push ebx
push 2
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push eax
lea ecx, [esp + 0x230]
call fcn.0041f39e
mov ecx, 0x7220d0
call fcn.004c4e06
lea ecx, [esp + 0x204]
mov byte [esp + 0x2c8], 2
call fcn.00401441
jmp 0x5c457c
push ebx
push ebx
push 2
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push 0x2842
push eax
call fcn.004b9340
pop ecx
pop ecx
mov ecx, 0x7220d0
call fcn.004c4e06
jmp 0x5c457c
push ebx
push ebx
push eax
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push 0x289e
jmp 0x5c43c2
push ebx
push ebx
push eax
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push 0x29b0
jmp 0x5c43c2
push ebx
push ebx
push eax
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
mov esi, 0x29fd
push esi
push eax
call fcn.004b9340
pop ecx
pop ecx
mov edi, 0x7220d0
mov ecx, edi
call fcn.004c4e06
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x44], esp
push 0x28d0
push eax
call fcn.004b9340
sub esp, 0x14
mov byte [esp + 0x300], 6
mov eax, esp
mov dword [esp + 0x7c], esp
push esi
push eax
call fcn.004b9340
pop ecx
pop ecx
mov ecx, edi
mov byte [esp + 0x300], 2
call fcn.004c4c6c
jmp 0x5c457c
cmp dword [esp + 0xa8], ebx
je 0x5c44e0
push 0x764940
mov ecx, 0x721f18
call fcn.004bb2e3
test al, al
je 0x5c449f
push dword [esp + 0x28]
call fcn.00428748
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [eax + 4]
call fcn.00411788
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2c8], 1
call fcn.00401040
mov byte [esp + 0x2c8], bl
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
je 0x5c44c4
call fcn.004117b8
or dword [esp + 0x2c8], 0xffffffff
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x5c44d9
call fcn.004117b8
push 2
jmp 0x5c4305
push ebx
push ebx
push 2
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push 0x284b
jmp 0x5c43c2
mov byte [esp + 0x2c8], 2
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x5c450c
call fcn.004117b8
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2c8], 1
call fcn.00401040
jmp 0x5c42ac
push ebx
push ebx
push 2
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x50], esp
push 0x284a
push eax
call fcn.004b9340
pop ecx
pop ecx
mov ecx, 0x7220d0
call fcn.004c4e06
mov byte [esp + 0x2c8], 8
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x5c455b
call fcn.004117b8
lea ecx, [esp + 0x204]
call fcn.0042a683
mov byte [esp + 0x2c8], 2
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x5c457c
call fcn.004117b8
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2c8], 1
call fcn.00401040
mov byte [esp + 0x2c8], bl
mov ecx, dword [esp + 0x1c]
cmp ecx, ebx
je 0x5c45a1
call fcn.004117b8
or dword [esp + 0x2c8], 0xffffffff
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x5c45b6
call fcn.004117b8
xor eax, eax
inc eax
mov ecx, dword [esp + 0x2c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2a8]
xor ecx, esp
call fcn.0051d721
mov esp, ebp
pop ebp
ret