Function at 0x439ce0
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x482e32
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x49b470]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x49b470]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
push 0x10000
mov dword [esp + 0x7c], 0
call fcn.0045fd36
add esp, 4
push 0x10000
mov esi, eax
push 0
push esi
mov dword [esp + 0x24], esi
call fcn.00463f50
add esp, 0xc
cmp dword [0x4b5c3c], 0x4b
je 0x439d59
test esi, esi
je 0x43ab2c
push esi
jmp 0x43ab24
mov eax, dword [0x4b5e48]
mov ecx, dword [0x4b5a34]
mov edi, dword [ecx + eax*4]
cmp byte [edi + 0x18], 0
mov dword [esp + 0x1c], edi
jne 0x439de0
mov byte [edi + 0x18], 1
mov esi, dword [0x4b5acc]
xor ebx, ebx
cmp dword [esi + 0x58ac], 1
jne 0x439d9a
push ebx
call fcn.004330d0
mov dword [esi + 0x58ac], ebx
add esp, 4
mov ebx, 1
push 3
push edi
mov eax, 1
call fcn.004420b0
add esp, 8
push 0
test ebx, ebx
jne 0x439dc5
movsx eax, word [edi + 0xc]
movsx esi, word [edi + 0xa]
movsx ebx, word [edi + 0xe]
movsx edi, word [edi + 8]
push eax
push esi
push edi
jmp 0x439dd7
push 0x320
push 0
xor esi, esi
push 0
mov ebx, 0x258
xor edi, edi
call fcn.004021f0
mov edi, dword [esp + 0x1c]
cmp dword [0x4b5df4], 1
jne 0x439ea4
mov eax, dword [0x4b41b4]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [sym.imp.WINMM.dll_timeGetTime]
cmp eax, 3
ja case.default.0x439e07
jmp dword [eax*4 + 0x43ab4c]
cmp dword [0x4b5a90], 1
jne 0x439e1b
call ebx
jmp 0x439e1d
call esi
sub eax, dword [0x4b41b8]
cmp eax, 0x5a
jae case.default.0x439e07
lea esi, [esp + 0x18]
call fcn.004145a0
jmp 0x43ab2c
cmp dword [0x4b5a90], 1
jne 0x439e43
call ebx
jmp 0x439e45
call esi
sub eax, dword [0x4b41b8]
cmp eax, 0x2d
jae case.default.0x439e07
lea esi, [esp + 0x18]
call fcn.004145a0
jmp 0x43ab2c
cmp dword [0x4b5a90], 1
jne 0x439e6b
call ebx
jmp 0x439e6d
call esi
sub eax, dword [0x4b41b8]
cmp eax, 0x10
jae case.default.0x439e07
lea esi, [esp + 0x18]
call fcn.004145a0
jmp 0x43ab2c
mov dword [0x4b5df4], 2
cmp dword [0x4b5a90], 1
jne 0x439e9d
call ebx
jmp 0x439e9f
call esi
mov dword [0x4b41b8], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], vtable.CUBitBlt.0
mov byte [esp + 0x78], 1
movzx eax, word [edi + 0x54]
xor edx, edx
cmp dx, ax
je 0x439f01
movzx ebx, word [edi + 0x56]
xor ecx, ecx
cmp cx, bx
je 0x439f01
movsx ecx, word [edi + 0xa]
movsx edx, word [edi + 8]
movsx esi, bx
push esi
cwde
push eax
push ecx
push edx
push ecx
push edx
jmp 0x439f17
movsx edx, word [edi + 0xe]
movsx eax, word [edi + 0xa]
movsx ecx, word [edi + 8]
push edx
movsx edx, word [edi + 0xc]
push edx
push eax
push ecx
push eax
push ecx
lea ecx, [esp + 0x38]
call fcn.0040a8a0
cmp dword [0x4b5c38], 8
je 0x43ab0c
mov ebx, dword [0x4b5b88]
movsx eax, byte [ebx]
cmp eax, 0x5c
ja case.0x439f46.1
movzx eax, byte [eax + 0x43ab6c]
jmp dword [eax*4 + 0x43ab5c]
mov ecx, dword [0x4b5e48]
mov edx, dword [0x4b5a34]
inc ebx
mov dword [0x4b5b88], ebx
mov eax, dword [edx + ecx*4]
cmp dword [eax + 0x68], 0
jne 0x439f74
push 0
push 1
lea ecx, [esp + 0x28]
push ecx
jmp 0x439f7d
push 1
push 1
lea edx, [esp + 0x28]
push edx
push 0x4b5e58
call fcn.0043c350
mov eax, dword [0x4b5b88]
add esp, 0x10
cmp byte [eax], 0x5d
je 0x439fa1
add eax, 2
mov dword [0x4b5b88], eax
cmp byte [eax], 0x5d
jne 0x439f94
inc eax
mov dword [0x4b5b88], eax
movsx cx, byte [edi + 0x21]
mov ax, word [edi + 0x26]
mov byte [edi + 0x1e], 0
mov byte [edi + 0x1f], 0
mov word [edi + 0x1a], ax
add cx, word [0x4b3d78]
add word [edi + 0x1c], cx
jmp 0x43a815
cmp ebx, dword [0x4b3d1c]
je 0x43a87e
mov eax, dword [0x4b5b84]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x439fe0
mov edi, dword [0x4b5e4c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x439ff0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4b5e4c]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x43a010
mov dx, word [0x4947a8]
mov word [eax], dx
movzx ecx, byte [0x4947aa]
mov byte [eax + 2], cl
mov edx, dword [0x4b3d1c]
mov dword [0x4b5b84], edx
call fcn.004548d0
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x1e]
cmp cl, byte [eax + 0x22]
jl 0x43a071
mov dx, word [eax + 0x26]
movsx cx, byte [eax + 0x21]
mov word [eax + 0xe4], dx
movzx edx, word [eax + 0x1c]
add cx, dx
add cx, word [0x4b3d78]
mov word [eax + 0xe6], cx
jmp 0x43a087
mov dx, word [eax + 0x1a]
mov word [eax + 0xe4], dx
movzx edx, word [eax + 0x1c]
mov word [eax + 0xe6], dx
mov cx, word [eax + 0x26]
mov word [eax + 0x1a], cx
mov cl, byte [eax + 0x1f]
cmp cl, byte [eax + 0x23]
mov byte [eax + 0x1e], 0
jl 0x43a0a9
mov dx, word [eax + 0x28]
mov word [eax + 0x1c], dx
mov byte [eax + 0x1f], 0
jmp 0x43a0c1
inc cl
mov byte [eax + 0x1f], cl
movsx cx, byte [eax + 0x21]
add cx, dx
add cx, word [0x4b3d78]
mov word [eax + 0x1c], cx
mov ecx, dword [0x4b5df4]
cmp ecx, 1
je 0x43a0d9
test ecx, ecx
je 0x43a0d9
cmp ecx, 2
jne 0x43a888
cmp dword [0x4b41b4], 4
jge 0x43a888
mov dword [0x4b5c38], 8
mov dword [0x4b5df4], 1
xor esi, esi
mov dword [0x4b3ccc], esi
movsx ecx, word [eax + 0xa]
movsx edx, word [eax + 8]
movsx edi, word [eax + 0xe]
movsx eax, word [eax + 0xc]
push edi
push eax
push ecx
push edx
push ecx
push edx
lea ecx, [esp + 0x38]
call fcn.0040a8a0
mov edi, dword [esp + 0x1c]
mov dword [0x4b3cd0], esi
jmp 0x43a815
inc ebx
mov dword [0x4b5b88], ebx
movsx eax, byte [ebx]
add eax, 0xffffffd0
cmp eax, 0x40
ja case.0x43a14d.58
movzx ecx, byte [eax + 0x43abe8]
jmp dword [ecx*4 + 0x43abcc]
inc ebx
mov eax, 0x4b5b6c
mov esi, 0x493a5c
mov dword [0x4b5b88], ebx
call fcn.00450b90
test eax, eax
je 0x43a8b0
xor esi, esi
mov cl, byte [ebx]
cmp cl, 0x81
jb 0x43a184
cmp cl, 0x9f
jbe 0x43a269
mov dl, cl
add dl, 0x20
cmp dl, 0xf
jbe 0x43a269
test cl, cl
je 0x43a269
cmp cl, 0x5c
je 0x43a269
cmp cl, 0x40
je 0x43a269
inc ebx
mov byte [esp + esi + 0x48], cl
mov dword [0x4b5b88], ebx
mov cl, byte [ebx]
cmp cl, 0x81
jb 0x43a1c7
cmp cl, 0x9f
jbe 0x43a25e
mov dl, cl
add dl, 0x20
cmp dl, 0xf
jbe 0x43a25e
test cl, cl
je 0x43a25e
cmp cl, 0x5c
je 0x43a25e
cmp cl, 0x40
je 0x43a25e
inc ebx
mov byte [esp + esi + 0x49], cl
mov dword [0x4b5b88], ebx
mov cl, byte [ebx]
cmp cl, 0x81
jb 0x43a1fe
cmp cl, 0x9f
jbe 0x43a261
mov dl, cl
add dl, 0x20
cmp dl, 0xf
jbe 0x43a261
test cl, cl
je 0x43a261
cmp cl, 0x5c
je 0x43a261
cmp cl, 0x40
je 0x43a261
inc ebx
mov byte [esp + esi + 0x4a], cl
mov dword [0x4b5b88], ebx
mov cl, byte [ebx]
cmp cl, 0x81
jb 0x43a22d
cmp cl, 0x9f
jbe 0x43a266
mov dl, cl
add dl, 0x20
cmp dl, 0xf
jbe 0x43a266
test cl, cl
je 0x43a266
cmp cl, 0x5c
je 0x43a266
cmp cl, 0x40
je 0x43a266
mov byte [esp + esi + 0x4b], cl
inc ebx
add esi, 4
cmp esi, 0x10
mov dword [0x4b5b88], ebx
jl 0x43a174
jmp 0x43a269
inc esi
jmp 0x43a269
add esi, 2
jmp 0x43a269
add esi, 3
lea ecx, [esp + 0x48]
push ecx
mov byte [esp + esi + 0x4c], 0
mov edx, dword [eax + 0xf4]
push edx
lea eax, [esp + 0x60]
push str._s_s
push eax
call fcn.0045f116
mov eax, dword [0x4b5df4]
add esp, 0x10
cmp eax, 1
je 0x43a29f
cmp eax, 2
jne 0x43a827
cmp dword [0x4b41b4], 4
jge 0x43a815
push 0
push 0x493a5c
mov ecx, 1
lea ebx, [esp + 0x60]
call fcn.0045af90
add esp, 8
jmp 0x43a815
movsx dx, byte [edi + 0x21]
mov cx, word [edi + 0x26]
mov word [edi + 0x1a], cx
mov byte [edi + 0x1e], 0
add dx, word [0x4b3d78]
inc byte [edi + 0x1f]
mov al, byte [edi + 0x1f]
add word [edi + 0x1c], dx
cmp al, byte [edi + 0x23]
jl 0x43a2fc
mov ax, word [edi + 0x28]
mov word [edi + 0x1c], ax
mov byte [edi + 0x1f], 0
mov ebx, dword [0x4b5b88]
inc ebx
mov dword [0x4b5b88], ebx
jmp case.0x43a14d.58
mov eax, dword [0x4b5df4]
cmp eax, 1
je 0x43a320
test eax, eax
jne 0x43a3b5
mov ecx, dword [0x4b5e48]
mov eax, dword [0x4b5a34]
mov esi, dword [eax + ecx*4]
mov dl, byte [esi + 0x1e]
cmp dl, byte [esi + 0x22]
mov ecx, esi
jl 0x43a35d
movzx edx, word [ecx + 0x26]
mov word [ecx + 0xe4], dx
mov ecx, dword [0x4b5e48]
mov eax, dword [eax + ecx*4]
movsx edx, byte [eax + 0x21]
add dx, word [eax + 0x1c]
add dx, word [0x4b3d78]
jmp 0x43a375
movzx edx, word [ecx + 0x1a]
mov word [ecx + 0xe4], dx
mov ecx, dword [0x4b5e48]
mov eax, dword [eax + ecx*4]
movzx edx, word [eax + 0x1c]
mov word [eax + 0xe6], dx
mov dword [0x4b3ccc], 0
mov dword [0x4b5c38], 8
movsx edx, word [edi + 0xe]
movsx eax, word [edi + 0xa]
movsx ecx, word [edi + 8]
push edx
movsx edx, word [edi + 0xc]
push edx
push eax
push ecx
push eax
push ecx
lea ecx, [esp + 0x38]
call fcn.0040a8a0
mov ebx, dword [0x4b5b88]
mov eax, dword [esp + 0x18]
mov esi, dword [0x4b5b84]
inc ebx
mov dword [0x4b5b88], ebx
xor ecx, ecx
jmp 0x43a3d6
mov ebx, dword [0x4b5b88]
cmp esi, ebx
je 0x43a3f7
mov dl, byte [esi]
mov byte [ecx + eax], dl
mov esi, dword [0x4b5b84]
inc esi
inc ecx
cmp ecx, 0x10000
mov dword [0x4b5b84], esi
jl 0x43a3d0
jmp 0x43a3fb
mov byte [ecx + eax], 0
mov esi, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a400
mov edi, dword [0x4b5e4c]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43a410
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebx, dword [0x4b5b88]
mov edi, dword [esp + 0x1c]
mov dword [0x4b5b84], ebx
mov dword [0x4b3cd0], 0
jmp case.0x43a14d.58
dec ebx
mov dword [0x4b5b88], ebx
mov al, byte [ebx]
mov cl, byte [ebx + 1]
push ebx
push edi
mov byte [esp + 0x1f], al
mov byte [esp + 0x1e], cl
call fcn.0043bc80
add esp, 8
cmp byte [esp + 0x17], 0x81
jne 0x43a4a4
mov al, byte [esp + 0x16]
cmp al, 0x75
je 0x43a49e
cmp al, 0x77
je 0x43a49e
cmp al, 0x69
je 0x43a49e
cmp al, 0x76
je 0x43a486
cmp al, 0x78
je 0x43a486
cmp al, 0x6a
jne 0x43a4a4
mov eax, dword [0x4b5e50]
dec eax
mov dword [0x4b5e50], eax
test eax, eax
jg 0x43a4a4
mov byte [0x4b5e58], 0
jmp 0x43a4a4
inc dword [0x4b5e50]
movsx edx, word [edi + 0xa]
movsx eax, word [edi + 0x1c]
movsx ecx, word [edi + 8]
add eax, edx
movsx edx, word [edi + 0x1a]
add ecx, edx
movsx edx, byte [edi + 0x21]
add edx, dword [0x4b3d78]
push edx
movsx edx, byte [edi + 0x20]
add edx, dword [0x4b3d7c]
push edx
push eax
push ecx
push eax
push ecx
lea ecx, [esp + 0x38]
call fcn.0040a8a0
mov eax, dword [0x4b5b88]
add eax, 2
mov dword [0x4b5b88], eax
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl cx, 8
or cx, dx
movzx edx, byte [eax + 3]
movzx esi, cx
movzx ecx, byte [eax + 2]
shl cx, 8
or cx, dx
mov dl, byte [edi + 0x22]
movzx eax, cx
movsx ecx, byte [edi + 0x20]
add cx, word [0x4b3d7c]
inc byte [edi + 0x1e]
add word [edi + 0x1a], cx
mov cl, byte [edi + 0x1e]
cmp cl, dl
mov byte [esp + 0x17], cl
mov byte [esp + 0x16], dl
jl 0x43a7a2
mov edx, 0x5c6e
cmp si, dx
je 0x43a815
mov edx, 0x5c4e
cmp si, dx
je 0x43a815
mov ebx, dword [0x4b5b88]
mov dl, byte [ebx]
test dl, dl
je case.0x43a14d.58
cmp dl, 0x40
jne 0x43a56e
cmp cl, byte [esp + 0x16]
jle case.0x43a14d.58
lea ecx, [esi + 0x7eff]
mov edx, 0xfe
cmp cx, dx
ja 0x43a5b2
mov ecx, 0x8150
cmp si, cx
jb 0x43a5a4
mov edx, 0x817c
cmp si, dx
jae 0x43a5b2
movzx ecx, si
and ecx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a5a2
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x43a5b2
mov dl, byte [esp + 0x17]
cmp dl, byte [esp + 0x16]
jle case.0x43a14d.58
mov ecx, 0x8158
cmp si, cx
je 0x43a5d0
mov edx, 0x815b
cmp si, dx
je 0x43a5d0
mov ecx, 0x8163
cmp si, cx
jne 0x43a622
mov edx, 0x5c6e
cmp ax, dx
je case.0x43a14d.58
lea ecx, [eax + 0x7eff]
mov edx, 0xfe
cmp cx, dx
ja 0x43a614
mov ecx, 0x8150
cmp ax, cx
jb 0x43a622
mov edx, 0x817c
cmp ax, dx
jae 0x43a614
movzx ecx, ax
and ecx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a612
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x43a622
mov dl, byte [esp + 0x17]
cmp dl, byte [esp + 0x16]
jle case.0x43a14d.58
lea ecx, [esi + 0x7d61]
cmp cx, 9
ja 0x43a640
movzx edx, si
and edx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a63e
dec edx
or edx, 0xfffffffe
inc edx
jne 0x43a67c
lea ecx, [esi + 0x7d1f]
cmp cx, 2
ja 0x43a65e
movzx edx, si
and edx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a65c
dec edx
or edx, 0xfffffffe
inc edx
jne 0x43a67c
mov ecx, 0x82ec
cmp si, cx
je 0x43a67c
mov edx, 0x82c1
cmp si, dx
je 0x43a67c
mov ecx, 0x82e5
cmp si, cx
jne 0x43a6ce
mov edx, 0x5c6e
cmp ax, dx
je case.0x43a14d.58
lea ecx, [eax + 0x7eff]
mov edx, 0xfe
cmp cx, dx
ja 0x43a6c0
mov ecx, 0x8150
cmp ax, cx
jb 0x43a6ce
mov edx, 0x817c
cmp ax, dx
jae 0x43a6c0
movzx ecx, ax
and ecx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a6be
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x43a6ce
mov dl, byte [esp + 0x17]
cmp dl, byte [esp + 0x16]
jle case.0x43a14d.58
lea ecx, [esi + 0x7cc0]
cmp cx, 8
ja 0x43a6ec
movzx edx, si
and edx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a6ea
dec edx
or edx, 0xfffffffe
inc edx
je 0x43a732
lea ecx, [esi + 0x7c7d]
cmp cx, 4
ja 0x43a70a
movzx edx, si
and edx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a708
dec edx
or edx, 0xfffffffe
inc edx
jne 0x43a732
mov ecx, 0x838e
cmp si, cx
je 0x43a732
mov edx, 0x8395
cmp si, dx
je 0x43a732
mov ecx, 0x8396
cmp si, cx
je 0x43a732
mov edx, 0x8362
cmp si, dx
jne 0x43a784
mov ecx, 0x5c6e
cmp ax, cx
je case.0x43a14d.58
lea edx, [eax + 0x7eff]
mov ecx, 0xfe
cmp dx, cx
ja 0x43a776
mov edx, 0x8150
cmp ax, dx
jb 0x43a784
mov ecx, 0x817c
cmp ax, cx
jae 0x43a776
movzx edx, ax
and edx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a774
dec edx
or edx, 0xfffffffe
inc edx
je 0x43a784
mov al, byte [esp + 0x16]
cmp byte [esp + 0x17], al
jle case.0x43a14d.58
movsx dx, byte [edi + 0x21]
mov cx, word [edi + 0x26]
mov word [edi + 0x1a], cx
mov byte [edi + 0x1e], 0
add dx, word [0x4b3d78]
add word [edi + 0x1c], dx
jmp 0x43a7f7
movsx edx, dl
movsx eax, cl
dec edx
cmp eax, edx
jl 0x43a815
lea ecx, [esi + 0x7eff]
mov edx, 0xfe
cmp cx, dx
ja 0x43a815
lea eax, [esi + 0x7e9b]
cmp ax, 0x16
ja 0x43a815
movzx ecx, si
and ecx, reloc.DSOUND.dll_DirectSoundCreate
jns 0x43a7d9
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x43a815
movsx ax, byte [edi + 0x21]
mov dx, word [edi + 0x26]
mov word [edi + 0x1a], dx
mov byte [edi + 0x1e], 0
add ax, word [0x4b3d78]
add word [edi + 0x1c], ax
inc byte [edi + 0x1f]
movsx ecx, byte [edi + 0x23]
mov al, byte [edi + 0x1f]
movsx edx, al
dec ecx
cmp edx, ecx
jle 0x43a815
mov ax, word [edi + 0x28]
mov byte [edi + 0x1f], 0
mov word [edi + 0x1c], ax
mov ebx, dword [0x4b5b88]
mov eax, dword [0x4b5df4]
cmp eax, 2
je 0x43a83b
jmp 0x43a82d
mov ebx, dword [0x4b5b88]
cmp eax, 4
je 0x43a83b
cmp eax, 8
jne 0x43ab0c
cmp dword [0x4b3da0], 0
je 0x43a86c
mov ecx, dword [0x4b5b90]
mov edx, dword [ecx + 0xf4]
mov ecx, dword [edx]
cmp ecx, dword [0x4b5b80]
jg 0x43a86c
cmp eax, 8
je 0x43aafb
cmp eax, 2
jne 0x43ab02
cmp dword [0x4b5c38], 8
jne 0x439f33
jmp 0x43ab0c
lea eax, [esp + 0x20]
push eax
jmp 0x43ab11
lea ecx, [esp + 0x20]
xor esi, esi
push ecx
mov dword [0x4b5c38], esi
mov dword [0x4b3cd0], esi
mov byte [esp + 0x7c], 0
call fcn.0040a990
mov eax, dword [esp + 0x18]
cmp eax, esi
jmp 0x43ab21
mov edx, dword [0x4b3c9c]
push 0
push 0x4944c8
push 0x4947ac
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x7c], 0
call fcn.0040a990
lea esi, [esp + 0x18]
call fcn.004145a0
jmp 0x43ab2c
call fcn.0043ba90
mov eax, dword [0x4b5df4]
cmp eax, 1
je 0x43a939
test eax, eax
je 0x43a939
cmp eax, 2
je 0x43a939
mov edx, dword [0x4b5e48]
inc dword [0x4b5b88]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, 1
call fcn.0043b950
add esp, 0x1c
lea ecx, [esp + 0x20]
mov dword [0x4b3cd0], 0
push ecx
jmp 0x43ab11
mov eax, dword [0x4b5a34]
mov ecx, dword [0x4b5e48]
mov edx, dword [eax + ecx*4]
cmp dword [edx + 0xd0], 0xffffffff
jne 0x43a9a0
mov esi, edx
mov dl, byte [esi + 0x1e]
cmp dl, byte [esi + 0x22]
mov ecx, esi
jl 0x43a981
movzx edx, word [ecx + 0x26]
mov word [ecx + 0xa0], dx
mov ecx, dword [0x4b5e48]
mov eax, dword [eax + ecx*4]
movsx edx, byte [eax + 0x21]
add dx, word [eax + 0x1c]
add dx, word [0x4b3d78]
jmp 0x43a999
movzx edx, word [ecx + 0x1a]
mov word [ecx + 0xa0], dx
mov ecx, dword [0x4b5e48]
mov eax, dword [eax + ecx*4]
movzx edx, word [eax + 0x1c]
mov word [eax + 0xa2], dx
xor ecx, ecx
mov dword [0x4b3ccc], ecx
mov dword [0x4b5c38], 0x10
call fcn.00458690
call fcn.004586b0
inc dword [0x4b5b88]
mov edx, dword [0x4b5b84]
mov eax, dword [esp + 0x18]
cmp edx, dword [0x4b5b88]
je 0x43a9f1
mov dl, byte [edx]
mov byte [ecx + eax], dl
mov edx, dword [0x4b5b84]
inc edx
inc ecx
cmp ecx, 0x10000
mov dword [0x4b5b84], edx
jl 0x43a9cc
jmp 0x43a9f5
mov byte [ecx + eax], 0
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a9f7
mov edi, dword [0x4b5e4c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43aa07
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4b3d1c]
mov dword [0x4b5b84], eax
call fcn.004548d0
lea ecx, [esp + 0x20]
mov dword [0x4b3cd0], 0
push ecx
jmp 0x43ab11
mov eax, dword [esp + 0x18]
mov esi, dword [0x4b5b84]
inc ebx
mov dword [0x4b5b88], ebx
xor ecx, ecx
jmp 0x43aa66
mov ebx, dword [0x4b5b88]
cmp esi, ebx
je 0x43aa87
mov dl, byte [esi]
mov byte [ecx + eax], dl
mov esi, dword [0x4b5b84]
inc esi
inc ecx
cmp ecx, 0x10000
mov dword [0x4b5b84], esi
jl 0x43aa60
jmp 0x43aa8b
mov byte [ecx + eax], 0
mov edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43aa90
mov edi, dword [0x4b5e4c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43aaa0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x4b3d1c]
mov dword [0x4b5b84], eax
call fcn.004548d0
xor esi, esi
mov dword [0x4b5c30], 1
mov dword [0x4b5c38], esi
call fcn.0043ba90
lea ecx, [esp + 0x20]
push ecx
mov dword [0x4b3cd0], esi
mov byte [esp + 0x7c], 0
call fcn.0040a990
mov eax, dword [esp + 0x18]
cmp eax, esi
jmp 0x43ab21
call fcn.0045ae80
jmp 0x43ab0c
mov dword [0x4b5df4], 1
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x7c], 0
call fcn.0040a990
mov eax, dword [esp + 0x18]
test eax, eax
je 0x43ab2c
push eax
call fcn.0045fc59
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.0045f0aa
mov esp, ebp
pop ebp
ret